За последние 24 часа нас посетили 64089 программистов и 1741 робот. Сейчас ищут 839 программистов ...

функция fsockopen()

Тема в разделе "Прочие вопросы по PHP", создана пользователем chertanovec, 13 янв 2007.

  1. chertanovec

    chertanovec Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    2
    Симпатии:
    0
    народ, такая проблема, помогите, пожалуйста, должен же быть выход

    у меня есть скрипт, который показывает онлайн сервер или нет

    тут привожу начальную часть

    <?php
    $timeout = "5";
    $server="217.10.33.97"; //Здесь меняем Ip сервера//
    $qw=chr(32);
    $fp = fsockopen ("udp://".$server,"27015",$errno, $errstr, $timeout); //Здесь порт сервера//

    if (!$fp) {
    $content=( "<table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">
    <tr>
    <td colspan=\"1\"><center><b>СЕРВЕР ОТКЛЮЧЕН</b></center></td>
    </tr>
    </table>");
    } else {
    fwrite($fp,"\377\377\377\377details".chr(10));

    $st=fread($fp,1);
    if(!$st) { $content=( "<table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">
    <tr>
    <td colspan=\"1\"><center><b>СЕРВЕР ОТКЛЮЧЕН</b></center></td>
    </tr>
    </table>");

    }

    вот здесь $fp = fsockopen ("udp://".$server,"27015",$errno, $errstr, $timeout); переменная сильно тормозит, если сервер отключен, при включенном сервере все работает шустро. Подскажите, пожалуйста, timeout не помогает :( Буду очень признателен.
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    1.
    у меня работает

    2. кешировать

    3. проверять отдельным "демоном"
     
  3. chertanovec

    chertanovec Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    2
    Симпатии:
    0
    а как???? помогите, я не понимаю как это проверять отдельным "демоном"
     
  4. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    onlline_demon.php
    Код (Text):
    1.  
    2. #!/usr/local/bin/php
    3. <?php
    4. // onlline_demon.php сохраняет статус в файл, базу данных или иначе...
    5. ...
    chmod +x onlline_demon.php
    onlline_demon.php &