socket_listen
socket_listen
(PHP 4 >= 4.1.0)
socket_listen - прослушивает соединение на сокете.
Описание
bool socket_listen (resource socket [, int backlog])
Предупреждение! |
---|
Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск. |
После того как сокет socket создан с помощью socket_create() и связан с именем с помощью socket_bind(), он может прослушивать входящие соединения в сокете socket.
Для процессинга в очередь ставится максимум backlog соединений. Если запрос соединения достигает заполненной очереди, клиент может получить ошибку с указанием ECONNREFUSED или, если протокол допускает ретрансмиссию, запрос может быть проигнорирован, поэтому возможны повторные попытки.
Примечание: максимальное количество, передаваемое в параметр backlog, сильно зависит от платформы. В linux оно втихую обрезается до SOMAXCONN. В win32, если передано SOMAXCONN, провайдер сервиса отвечает за установку backlog сокета в максимальное разумное значение. На этой платформе нет стандарта для установки реального backlog-значения.
socket_listen() применяется только для сокетов типа SOCK_STREAM или SOCK_SEQPACKET.
Возвращает TRUE при успехе, FALSE при неудаче. Код ошибки можно запросить функцией socket_last_error(). Этот код может быть передан в socket_strerror() для получения текстового объяснения ошибки.
См. также socket_accept(), socket_bind(), socket_connect(), socket_create() и socket_strerror().