fsockopen на пхп
Новая тема Написать ответ
# Пт Июн 30, 2006 1:36 amGraff Sadko Зарег.: 20.09.2005 ; Сообщ.: 1343Ответить с цитатой
таймут блин выставляю, а он всё равно ждет по 30 секунд Sad
если прокси глюкнутый и тормознутый, не хочу ждать 30 секунд ответа от него, выставляю 10, всё равно 30 ждет. грят дело в хостинге, но я и локально под апач виндовский пробывал, и на хосту юниксовском - у хостера, ждет 30 секунд и всё Sad
ху ноуз в чем проблема?
# Сб Июл 01, 2006 5:33 amGraff Sadko Зарег.: 20.09.2005 ; Сообщ.: 1343Ответить с цитатой
ну чё, никто не знает реально?
# Сб Июл 01, 2006 8:20 pmg0blin Зарег.: ; Сообщ.: 0Ответить с цитатой
If you need to set a timeout for reading/writing data over the socket, use stream_set_timeout(), as the timeout parameter to fsockopen() only applies while connecting the socket.

Пробовал?
# Пн Июл 03, 2006 1:12 pmwebboxxx Зарег.: 22.04.2006 ; Сообщ.: 2Ответить с цитатой
знаю, сталкивался.
В функцию fsockopen можно передать параметр timeout, но как показывает практика этот таймаут срабатывает только в половине случаев. Причина кроется в том, что таймаут контролируется этой функцией только когда идет уже непосредственное обращение к хосту. А как известно, перед тем, как обратиться к самому хосту, подобные функции выполняют запрос к DNS серверу, чтобы узнать IP хоста по домену. Вот когда на этом этапе запрос подвисает (проблемы на DNS) - то данный таймаут бесполезен. Варианты решения: определять IP по домену самосоятельно (например через команды ос (host с параметрами таймаута)), а в fsockopen подсовывать не домен, а сразу IP-адрес, либо пользоваться CURL, там вроде бы с таймаутами дела получше обстоят (специально не проверял, но после того как стал юзать - таких подвисаний вроде не было). Вобщем насчет курла на 100% не уверен, а первый вариант должен работать всегда.
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.