Скрипт вывода пользователей

Статус
В этой теме нельзя размещать новые ответы.

UltrbI4

Гуру форума
Регистрация
15 Мар 2009
Сообщения
450
Реакции
53
Народ всем привет.Есть скрипт,который выводит сколько пользователей,их ники фраги и т.д на игровом сервере.Ставлю его
Захожу через браузер и выскакивает ошибка
Warning: fsockopen() [function.fsockopen]: unable to connect to udp://77.74.11.62:0 (Failed to parse address "77.74.11.62") in /home/topser/public_html/monitoring/player.php on line 5
ERROR: -

Warning: fsockopen() [function.fsockopen]: unable to connect to udp://77.74.11.62:0 (Failed to parse address "77.74.11.62") in /home/topser/public_html/monitoring/player.php on line 28
ERROR: -

В чем может быть проблема?
Думали дело во включенном register_globals,попробовали отрубить и ошибка осталась.
Вот сам скрипт.
PHP:
<?PHP
$ip = $_GET['ip'];
$port = $_GET['port'];
$qw=chr(32);
$fp = fsockopen ("udp://".$ip,".$port");
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\n";
    } else {
    fwrite($fp,"\377\377\377\377details".chr(10));
    $st=fread($fp,1);
    $r=socket_get_status($fp);
    $r=$r["unread_bytes"];
    $st.=fread($fp,$r);
    fclose($fp);
    $st=substr($st,5);
    $address=SubStr($st,0,StrPos($st,chr(0)));
    $address=str_replace(chr(0),"|",$address);
    $st=SubStr($st,StrPos($st,chr(0))+1);
    $name=SubStr($st,0,StrPos($st,chr(0)));
    $st=SubStr($st,StrPos($st,chr(0))+1);
    $map=SubStr($st,0,StrPos($st,chr(0)));
    $st=SubStr($st,StrPos($st,chr(0))+1);
    $st=SubStr($st,StrPos($st,chr(0))+1);
    $st=SubStr($st,StrPos($st,chr(0))+1);
    $current=ord(SubStr($st,0,1));
    $max=ord(SubStr($st,1,1));
    }
$fp = fsockopen ("udp://".$ip,".$port");
if (!$fp) {
    echo "ERROR: $errno - $errstr<br>\n";
    } else {
    fwrite($fp,"\377\377\377\377players".chr(10));
    $st=fread($fp,1);
    $r=socket_get_status($fp);
    $r=$r["unread_bytes"];
    $st.=fread($fp,$r);
    fclose($fp);
    $playersn=ord(substr($st,5,1));
    $st=substr($st,6);
    if ($playersn !=0 ){
        Echo("\n
 <body bgcolor=\"#292c21\">
<table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"1\" align=\"center\" bgcolor=\"#8c7952\">
  <tr>
    <td colspan=\"3\"><center><b>Ñåé÷àñ  íà ñåðâåðå:</b></center></td>
  </tr>
  <tr>
    <td bgcolor=\"#292c21\" width=\"15\"><font color=\"#8c7952\">#</font></td>
    <td bgcolor=\"#292c21\" width=\"250\"><b><font color=\"#8c7952\">Èìÿ èãðîêà:</font></b></td>
    <td bgcolor=\"#292c21\" ><b><font color=\"#8c7952\">Ôðàãîâ:</font></b></td>
  </tr>\n");
        for ($i=1;$i<=$playersn;$i++){
            $n=ord(substr($st,0,1));
            $st=substr($st,1);
            $name=SubStr($st,0,StrPos($st,chr(0)));
            $kills=ord(substr($st,StrPos($st,chr(0))+1,1));
            if ($kills==255){$kills=-1;}
            if ($kills==254){$kills=-2;}
            if ($kills==253){$kills=-3;}
            if ($kills==252){$kills=-4;}
            $st=substr($st,StrPos($st,chr(0)));
            $st=substr($st,9);
            Echo("
<tr>
    <td bgcolor=\"#292c21\"   width=\"15\"><font color=\"#8c7952\">$n</font></td>
    <td bgcolor=\"#292c21\"   width=\"250\"><font color=\"#8c7952\">$name</font></td>
    <td bgcolor=\"#292c21\"  ><font color=\"#8c7952\">$kills</font></td>
  </tr>\n");
        }
        Echo("</table></body>
        <center><form><input type='button' value='Çàêðûòü' onClick='window.close()'></form></center>
        </html>");
    }
}
?>
Помогите решить проблему
 
Во первых потому что неправильно написано
$fp = fsockopen ("udp://".$ip,".$port");
нужно
$fp = fsockopen ("udp://".$ip,$port);
еще я сменил порт на 1
Правда после этого лезет Warning: fread() [function.fread]: Length parameter must be greater than 0 in U:\home\localhost\www\lol.php on line 13

а точно нужно на нулевой порт конектится???
 
Устрани ошибку $fp = fsockopen ("udp://".$ip,$port);
и посмотри что к тебе приходит....
echo $ip = $_GET['ip'];
echo $port = intval($_GET['port']);
 
2 unsiker : у него порт как get-параметр передается
так у него он не нулевой будет )))
+1
Устрани ошибку $fp = fsockopen ("udp://".$ip,$port);
и посмотри что к тебе приходит....
echo $ip = $_GET['ip'];
echo $port = intval($_GET['port']);
Все перепробовал,нифига,лезет эта ошибка и все тут.Лан народ все-равно всем спасибо.Мы с товарищем свой скрипт напишем.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху