Учебник РНР
НазадВперёд

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().


Назад Оглавление Вперёд
socket_last_error Вверхsocket_read