Numis Posté(e) le 6 décembre 2007 Partager Posté(e) le 6 décembre 2007 Bonjour à tous. Voici quelques jours que j'essaye de mettre en ligne une page avec un script PHP qui permet de voir si mon server est en ligne. Après avoir mis mon ip et mon port j'obtiens cette erreur. (Je suis chez l'hébergeur Free) Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /mnt/138/sda/d/a/numisbaahal/serverstatus.php on line 28Warning: fsockopen() [function.fsockopen]: unable to connect to xxxxxxxxxxxxxxx:80 in /mnt/138/sda/d/a/numisbaahal/serverstatus.php on line 28 Après certaine recherche il m'à été dit que fsockopen ne marchait sur free seulement avec le port 80 hors le port de mon server est 4250 je voudrais savoir si il y avait une solutions à mon problème car je ne mis connais pas du tout en PHP, en vous remerciant. Voici le code PHP. <?php $ipaddr = "xxxxxxxxxxxxxxx"; $port = "80"; // <=== Cela ne marche qu'avec ce port sinon j'ai le message d'erreur plus haut. $timeout = 5; $connect = fsockopen( "udp://" . $ipaddr, $port, $errno, $errstr, $timeout ); if ( ! $connect ) { print( "<h1>Server is down</h1><br>\n" ); print( "<h3>ERROR: $errno - $errstr</h3><br>\n" ); exit; } else { socket_set_timeout( $connect, $timeout ); $send = "\xFE\xFD\x00\xE0\xEB\x2D\x0E\x14\x01\x0B\x01\x05\x08\x0A\x33\x34\x35\x13\x04\x36\x37\x38\x39\x14\x3A\x3B\x3C\x3D\x00\x00"; fwrite( $connect, $send ); $output = fread( $connect, 5000 ); if ( ! $output ) { print ( "<h1>Server is down.<br></h1>\n" ); } else { $lines = explode( "\x00", $output ); print( "<u>Server IP:</u> <i class='r'>$ipaddr</i>:<i class='r'>$port</i><br>\n" ); print( "<u>Server Status:</u> <i class='r'>Online</i><br>\n" ); print( "<b>Game Category:</b> <i class='r'>" ); if ( $lines[16] == "274" ) { print( "Action</i><br>\n" ); } elseif ( $lines[16] == "363" ) { print( "Story</i><br>\n" ); } elseif ( $lines[16] == "364" ) { print( "Story Lite</i><br>\n" ); } elseif ( $lines[16] == "275" ) { print( "Role Play</i><br>\n" ); } elseif ( $lines[16] == "276" ) { print( "Team</i><br>\n" ); } elseif ( $lines[16] == "365" ) { print( "Melee</i><br>\n" ); } elseif ( $lines[16] == "366" ) { print( "Arena</i><br>\n" ); } elseif ( $lines[16] == "277" ) { print( "Social</i><br>\n" ); } elseif ( $lines[16] == "279" ) { print( "Alternative</i><br>\n" ); } elseif ( $lines[16] == "278" ) { print( "PW Action</i><br>\n" ); } elseif ( $lines[16] == "367" ) { print( "PW Story</i><br>\n" ); } elseif ( $lines[16] == "368" ) { print( "Solo</i><br>\n" ); } elseif ( $lines[16] == "370" ) { print( "Tech Support</i><br>\n" ); } print( "<u>Play Type:</u> <i class='r'>$lines[2]</i><br>\n" ); print( "<u>Game Name:</u> <i class='r'>$lines[3]</i><br>\n" ); print( "<u>Module Name:</u> <i class='r'>$lines[4]</i><br>\n" ); print( "<u>Version Number:</u> <i class='r'>$lines[14]" ); if ( $lines[20] == '1' ) { print( " / XP-1 " ); } elseif ( $lines[20] == '2' ) { print( " / XP-2 " ); } elseif ( $lines[20] == '3') { print( " / XP-1 / XP-2 " ); } print( "</i><br><br>\n" ); print( "<u>Level Range:</u> <i class='r'>$lines[7]</i> - <i class='r'>$lines[8]</i><br>\n" ); print( "<u>Player vs. Player:</u> " ); if ( $lines[9] == "NONE" ) { print( "<i class='r'>" ); } elseif ( $lines[9] == "FULL" ) { print( "<i class='r'>" ); } else { print( "<i class='r'>" ); } print( "$lines[9]</i><br>\n" ); print( "<u>Character Vault:</u> " ); if ( $lines[19] == '1' ) { print( "<i class='r'>Local Vault</i><br>\n" ); } else { print( "<i class='r'>Server Vault</i><br>\n" ); } print( "<u>Only One Party:</u> " ); if ( $lines[12] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Player Pause:</u> " ); if ( $lines[13] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Item Level Restrictions:</u> " ); if ( $lines[18] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Enforce Legal Characters:</u> " ); if ( $lines[17] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Password:</u> " ); if ( $lines[10] == '0' ) { print( "<i class='r'>not required</i><br>\n" ); } else { print( "<i class='r'>required</i><br>\n" ); } print( "<u>Players:</u> <i class='r'>$lines[5]</i> / <i class='r'>$lines[6]</i><br><br>\n" ); $dlines = explode( "\n", $lines[15] ); print( "<u>Server Description:</u><br>" ); print( "<i>\n" ); foreach ( $dlines as $dline ) { print( "$dline<br>\n" ); } print( "</i>\n" ); } } fclose( $connect ); ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 6 décembre 2007 Partager Posté(e) le 6 décembre 2007 Serveur NWN spotted ! Bon a part ca, free n'autorise pas fsockopen sur autre chose que du 80, donc un serveur NWN en 5121 c'est niqué.. Pour utiliser ce genre de script il te faut un vrai hebergeur sans restriction. Tiens je te file ma version au cas ou si tu trouve un vrai hebergeur, c'est la meme base que la tienne mais jlai un peu modifié. <div style="position: fixed; background-color: #D0E3FA;width: 65%;border: thin solid #6495ed;font:10pt verdana;"> <DIV STYLE="text-align : justify;margin : 0;padding-left : 1%;padding-right : 1%;border-style : solid;border-right-width : 1px; border-left-width : 1px;border-right-color : inherit;border-left-color : inherit;width : 30%;float : left;background-color: #ffffff"> <?php $ipaddr = "192.168.0.95"; $port = "5121"; $timeout = 5; $connect = fsockopen( "udp://" . $ipaddr, $port, $errno, $errstr, $timeout ); if ( ! $connect ) { print( "<h1>Server is down</h1><br>\n" ); print( "<h3>ERROR: $errno - $errstr</h3><br>\n" ); exit; } else { socket_set_timeout( $connect, $timeout ); $send = "\xFE\xFD\x00\xE0\xEB\x2D\x0E\x14\x01\x0B\x01\x05\x08\x0A\x33\x34\x35\x13\x04\x36\x37\x38\x39\x14\x3A\x3B\x3C\x3D\x00\x00"; fwrite( $connect, $send ); $output = fread( $connect, 5000 ); if ( ! $output ) { print ( "<h1>Server is down.<br></h1>\n" ); } else { //echo $output; $lines = explode( "\x00", $output ); print( "<u>Server IP:</u><br> <i class='r'>barbeuzlan.myftp.org</i>:<i class='r'>$port</i><br>\n" ); print( "<u>Server Status:</u><br> <i class='r'>Online</i><br>\n" ); print( "<u>Categorie de jeu:</u><br> <i class='r'>" ); if ( $lines[16] == "274" ) { print( "Action</i><br>\n" ); } elseif ( $lines[16] == "363" ) { print( "Scénario</i><br>\n" ); } elseif ( $lines[16] == "364" ) { print( "Scénario</i><br>\n" ); } elseif ( $lines[16] == "275" ) { print( "Role Play</i><br>\n" ); } elseif ( $lines[16] == "276" ) { print( "Team</i><br>\n" ); } elseif ( $lines[16] == "365" ) { print( "Melee</i><br>\n" ); } elseif ( $lines[16] == "366" ) { print( "Arena</i><br>\n" ); } elseif ( $lines[16] == "277" ) { print( "Social</i><br>\n" ); } elseif ( $lines[16] == "279" ) { print( "Alternative</i><br>\n" ); } elseif ( $lines[16] == "278" ) { print( "PW Action</i><br>\n" ); } elseif ( $lines[16] == "367" ) { print( "PW Story</i><br>\n" ); } elseif ( $lines[16] == "368" ) { print( "Solo</i><br>\n" ); } elseif ( $lines[16] == "370" ) { print( "Tech Support</i><br>\n" ); } print( "<u>Play Type:</u><br> <i class='r'>$lines[2]</i><br>\n" ) ?></div> <div style="text-align : justify;margin : 0;padding-left : 1%;padding-right : 1%;width : 30%;float : left;"> <?; print( "<u>Jeu:</u><br> <i class='r'>$lines[3]</i><br>\n" ); print( "<u>Nom du module:</u> <i class='r'>$lines[4]</i><br>\n" ); print( "<u>Version:</u><br> <i class='r'>$lines[14]" ); if ( $lines[20] == '1' ) { print( " / XP-1 " ); } elseif ( $lines[20] == '2' ) { print( " / XP-2 " ); } elseif ( $lines[20] == '3') { print( " / XP-1 / XP-2 " ); } print( " / CEP</i><br><br>\n" ); ?></div> <div style="text-align : justify;margin : 0;padding-left : 1%;padding-right : 1%;width : 30%;float : left;"> <? print( "<u>Level Range:</u> <i class='r'>$lines[7]</i> - <i class='r'>$lines[8]</i><br>\n" ); print( "<u>Player vs. Player:</u> " ); if ( $lines[9] == "NONE" ) { print( "<i class='r'>" ); } elseif ( $lines[9] == "FULL" ) { print( "<i class='r'>" ); } else { print( "<i class='r'>" ); } print( "$lines[9]</i><br>\n" ); print( "<u>Character Vault:</u><br> " ); if ( $lines[19] == '1' ) { print( "<i class='r'>Local Vault</i><br>\n" ); } else { print( "<i class='r'>Server Vault</i><br>\n" ); } print( "<u>Only One Party:</u> " ); if ( $lines[12] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Player Pause:</u> " ); if ( $lines[13] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Item Level Restrictions:</u> " ); if ( $lines[18] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Enforce Legal Characters:</u> " ); if ( $lines[17] == '1' ) { print( "<i class='r'>enabled</i><br>\n" ); } else { print( "<i class='r'>disabled</i><br>\n" ); } print( "<u>Password:</u> " ); if ( $lines[10] == '0' ) { print( "<i class='r'>not required</i><br>\n" ); } else { print( "<i class='r'>required</i><br>\n" ); } print( "<u>Players:</u> <i class='r'>$lines[5]</i> / <i class='r'>$lines[6]</i><br><br>\n" ); } } fclose( $connect ); ?> </div></div> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Numis Posté(e) le 6 décembre 2007 Auteur Partager Posté(e) le 6 décembre 2007 Serveur NWN spotted ! Salut à toi merci (je me demande comment tu savais que c'était NwN le jeux ? :lol: Sinon c'est bien ce que je pensais donc ... Bon, bah je vais voir si j'en trouve un. Merci tout de même pour ta réponse. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 6 décembre 2007 Partager Posté(e) le 6 décembre 2007 J'ai reconnu des bouts de code, sinon je ne connais pas non plus d'hebergeur gratuit qui propose du fsockopen(). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Numis Posté(e) le 6 décembre 2007 Auteur Partager Posté(e) le 6 décembre 2007 J'ai trouvé un hébergeur malheureusement cela ne veut pas marcher j'ai même testé avec un port ainsi qu'une IP qui fonctionne sur un site avec ce même genre de script mais pourtant ça ne marche pas. J'ai pourtant pas de message d'erreur comme sur free (c'est Lycos) Y a t'il une explication ou je laisse tombé ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Numis Posté(e) le 31 décembre 2007 Auteur Partager Posté(e) le 31 décembre 2007 Personne aurait une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.