Сокеты глючат

Cude

Новичок
Сокеты глючат

Задача: что нибудь скачать в многопоточном режиме
Создаю неблокирующие сокеты, мониторю их с помощью socket_select без ограничения времени.
Получается забавная вешь: socket_select возвращает сокеты, я их опрашиваю и очень часто оказывается что сокеты в данный момент заблокированны (11:Resource temporarily unavailable), то есть фактически socket_select использовать бесмысленно. Дальше выесняются другие интимные подробности сокетов: socket_read может возвращать как string так и bool в независимости от того что нам дает socket_last_error(). В частности я заметил это при ошибке "Resource temporarily unavailable". В мане же написано что если сервер закончил передачу страницы, socket_read вернет пустую строку.

php 4.3.11
 

Cude

Новичок
Ха, все работает, только как то через жопу. Меня ввели в заблуждение ошибки выдаваемые socket_read. То есть не зависимо от ошибки надо проверять что вернул socket_read и если пустую строку, можно закругляться. Зачем тогда socket_read выдает ошибки вообще не понятно, достаточно проверить что она фактически возвращает.

А насчет socket_select я зря гнал, все работает. :)
 
Сверху