Обработчик ошибок считывания из сокета

Alexander

Новичок
Обработчик ошибок считывания из сокета

Иногда по каким-либо причинам сервер не отвечает на HTTP запрос.
Хотя сокет открыт успешно. Но в ответ на ничего не приходит=( При этом в программе возникает ошибка: "Fatal error: Maximum execution time of 60 seconds exceeded in C:\...". Как не нее можно поставить обработчик? Вот пример кода:

PHP:
function send($tuuda){ 


$fp = fsockopen("http://host.ru",80,$errno,$errstr,30); 
   if (!$fp){ 
   echo"o6ibka :".$errno."<br>".$errstr; 
}else{ 

$otvet=""; 
  fwrite($fp, $tuuda); 
    while(!feof($fp)){ 
       global $otvet; 
       $otvet .= fgets($fp, 1024); 
    }; 
    fclose($fp); 
    return $otvet; 




}; 

};
 

Alexander

Новичок
Ставлю. Вобще обработчик такой ошибки понадобился из-за того что когда моя программа подключается к серверу(запоминает sid, uid, id и.т.п.), если некое условие не выполняется, то ей велено подождать минуты три-четыри и реконектить... Вот тут и начинаются разнообразные баги. Хотя функция подключения рекурсивна: она заново подключается, берет новые sid, uid, id , но рано или поздно она говорит что не может дождаться ответа от сервера... И еще мне не очень понятен один момент... по идее сокет же на один сервер можно открыть только один раз, и вписывать в него fwrite()'om когда нужно. Но так ничего не работает, надо каждый раз заново сокет открывать. Интерестно это моя ошибка в коде, или все правильно, и так и должно быть????
 
Сверху