Xpoint
   [напомнить пароль]

Stream, неблокирующие сокеты, код ошибки

Метки: [без меток]
2009-12-12 16:44:21 [обр] Сергей[досье]
Здравствуйте. Написал скрипт который работает с асинхронными сокетами с помощью stream* функций(stream_socket_client/stream_select). Все работает отлично, но возник вопрос, на который не могу найти ответа.
допустим я послал неблокирующий запрос на соединение при помощи stream_socket_client, произошла некоторая ошибка при соединении, как ее отловить(интересует: код ошибки, ее описание, список всех возможных кодов ошибок)?
P.S.
еще по этой же теме очень хотелось бы узнать, что означает параметр $except в stream_select. Не совсем понимаю, что пишут на php.net по этому поводу:
Цитата:
The streams listed in the except array will be watched for high priority exceptional ("out-of-band") data arriving
спустя 3 часа 50 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]
Погуглите по запросу "TCP внеполосные данные".
спустя 53 минуты [обр] Сергей[досье]
погуглил, но это не совсем то что мне нужно, я спрашиваю как это реализовать применительно именно к php и stream функциям, а не абстрактно.
спустя 2 дня 5 часов [обр] Василий Свиридов(53/175)[досье]

Евгений Седов aka KPbIC[досье] ответил на вторую часть вашего вопроса. $except слушает потоки на предмет OOB данных.

А на первый вопрос отвечу так - вторым параметром в stream_socket_client передаётся ссылка на $errorcode. В котором и будет код ошибки. Возможно в асинхронном сценарии её нужно периодически проверять.

Powered by POEM™ Engine Copyright © 2002-2005