Показать сообщение отдельно

  #8  
Старый 28.04.2007, 00:31
null_access
Участник форума
Регистрация: 31.01.2005
Сообщений: 151
С нами: 11195807

Репутация: 11
По умолчанию

Цитата:
Сообщение от Developer  
По сабжу:

Таймаут на функцию - значит таймаут на соединение сокета. Функция fsockopen принимает пятый параметр timeout, по истечении которого хост считается мертвым.
Это по теории так, а на практике я имею такую ситуацию, что такой вот код являющийся частью функции:
PHP код:
$fp=fsockopen($HostName$HostPort$errno$errstr30); 

if (!
$fp//Если соединение прошло неуспешно, выводим сообщение об ошибке ставшей причиной проблемы.
    

    echo 
"$errstr ($errno)<br />\n"
    } 
else         
//Если соединение прошло успешно, то формируем пакет запрса к серверу. 
    

    
$out  "GET .......\r\n"
    ................

    
stream_set_timeout($fp30);     //Выставляем таймау на операции с сервером. Если в течение заданного отрезка времени не происходит никакого
                                //обмена данными, то считаем чо соединение подвисло и обрываем его. 

    
fputs($fp$out);         //Передаем ранее сформированный пакт данных серверу. 

   //получаем ответ сервера в переменную $Page 
        
$Page=""
        while (!
feof($fp)) 
            { 
            
$Page.=fgets($fp); 
            } 
так вот, такой вод код, очень часто подвисает на неограниченное время, и только поэтому я стартанул эту темку.)
пасибки большое, что пишите свои мысли по этому поводу, пока ещё не сделал что нужно, учусь типа.)
 
Ответить с цитированием