Функция мониторинга PHP

Тема в разделе "Программирование / Скриптинг", создана пользователем artyrka94, 13 янв 2015.

  1. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    В сети нашел функцию:

    PHP:
    function GetServerInfo($server,$port) { 
         
    $fp = @fsockopen("udp://".$server$port); 
         if (!
    $fp) return false;

         @
    fwrite($fp,"\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00".chr(10)); 
         
    $start=time(); 
         
    socket_set_timeout($fp,1); 
         
    $st=fread($fp,1); 
         
    $r=socket_get_status($fp); 
         
    $result['status'] = $r["timed_out"];
         
    $r=$r["unread_bytes"]; 
         if (
    $r == 0) { @fclose($fp); return false;} 
         
    $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);  
         
    $map=SubStr($st,0,StrPos($st,chr(0))); 
         
    $st=SubStr($st,StrPos($st,chr(0))+1); 
         
    $name=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));

         if (
    $map == "") return false
         
    $result['map'] = $map
         
    $result['name']= $name
         
    $result['current'] = $current
         
    $result['max'] = $max;
         
    $result['ip'] = $server;
         
    $result['port'] = $port;

         return 
    $result
    }

    Как сделать что бы она могла возвращать дополнительно имя сервера (hostname)?
     
  2. ykpon

    ykpon Владыка Read Only

    Сообщения:
    399
    Симпатии:
    104
    А что отдает $name?
     
  3. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    ники игроков.
     
  4. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    имя мода (cstrike).