Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > мониторинг CS сервера


Автор: Smak 21.11.2005, 21:45
Искал учебник по сокетам для php, так ни чего и не нашёл smile может подскажете где можно взять?
и ещё вопросик, есть у меня небольшой мониторинг кс сервера, естественно писал его не я, ибо с сокетами вообще не разбераюсь , вот код:

Код

<?php
$server='172.17.1.102';
$port='27015';

$qw=chr(32);
$fp = fsockopen ("udp://".$server,$port, $errno, $errstr, "1");
if (!$fp) {
    echo "Сервер в дауне!";
    }
    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));
?>
 <body>
<table width=149 border="0" cellpadding="2" cellspacing="1">
  <tr>
    <td width=143>
        <p align="center"><?php echo $show_map="<img src=images/cs/".$map.".jpg border=2>"; ?></td>
  </tr>
  <tr>
    <td width=143>Карта: <?php echo $map;  ?></td>
  </tr>
  <tr>
    <td width=143>Игроки: <?php echo $current;  ?>/<?php echo $max; ?></td>
  </tr>

</table>

        </body>
        </html>

<?php
  }

?>


вроде всё прекрасно и красиво, но ОГРОМНЫЙ касяк! если кс сервер в данный момент не работает, то при заходе на страничку она долго долго грузиться! и в конце концов выдаёт только часть странички, тоесть доходит до места этого скрипта и дальше не фига не отображает smile как зделать, если сервер кс в данный момент не работает, то он просто пише сервер не работает... или тип того...

Автор: Doggy123 22.11.2005, 12:07
Можно попробовать навсякий случай вместо fsockopen @fsockopen хотя честно говоря думаю проблема не в этом

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)