Функции Язык программирования PHP

socket_accept

(PHP 4 >= 4.1.0)

socket_accept - принимает соединение с сокетом.

Описание

resource socket_accept (resource socket)

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

После того как сокет socket создан функцией socket_create(), связан с именем с помощью socket_bind() и начал прослушивание соединений с помощью socket_listen(), эта функция будет принимать входящие соединения по этому сокету. После создания успешного соединения возвращается новый ресурс сокета, который может использоваться при взаимодействии. Если в сокете имеется очередь из нескольких соединений, используется первое соединение. Если запущенных соединений нет, socket_accept() будет блокирована, пока соединение не появится. Если socket сделан неблокирующим с помощью функции socket_set_blocking() или socket_set_nonblock(), будет возвращено FALSE.

Ресурс сокета, возвращаемый функцией socket_accept(), не может использоваться для приёма новых соединений. Однако оригинальный прослушивающий сокет socket оста1тся открытым и может использоваться повторно.

Возвращает новый ресурс сокета успехе, FALSE при ошибке. Код ошибки можно запросить функцией socket_last_error(). Этот код ошибки можно передавать в socket_strerror() для получения текстового объяснения ошибки.

См. также socket_bind(), socket_connect(), socket_listen(), socket_create() и socket_strerror().


Назад Оглавление Вперёд
Функции сокетов Вверх socket_bind

Утверждения/Assertions

Утверждение это проверка символов, идущих следом или предшествующих текущей точке совпадения, не используя реально никаких символов. Простые утверждения, кодированные как \b, \B, \A, \Z, \z, ^ и $, были рассмотрены ранее. Более сложные утверждения кодированы как субпатэрны.
Есть утверждения двух видов: те, которые смотрят вперёд/ahead от текущей позиции, в строке-субъекте, и те, которые смотрят назад/behind.

Субпатэрн утверждения совпадает обычным образом, за исключением того, что он не вызывает изменения текущей позиции совпадения. Утверждения вперёд начинаются с (?= для положительного утверждения и с (?! - для отрицательного утверждения. Например,

\w+(?=;)

совпадает со словом с последующей точкой с запятой, но не включает точку с запятой в совпадение, и

foo(?!bar)

совпадает с любым появлением "foo", после которого не идёт "bar". Обратите внимание, что похожий патэрн

(?!foo)bar

не найдёт никаких вхождений "bar", перед которыми идёт что-нибудь, кроме "foo"; он найдёт, тем не менее, любое вхождение "bar", поскольку утверждение (?!foo) всегда TRUE, если следующие три символа это "bar". Утверждение назад необходимо для получения этого эффекта.