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

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