socket_set_nonblock
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_set_nonblock — Устанавливает неблокирующий режим для файлового дескриптора fd
Описание
Когда операция (например, получение, отправка, соединение, принятие соединения,… выполняется
на неблокирующем сокете, скрипт не будет приостанавливать исполнение до получения сигнала
или возможности выполнить операцию. Если выполняемая операция должна привести к блокированию
выполнения скрипта, то вместо этого вызываемая функция вернёт ошибку.
Возвращаемые значения
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Примеры
Пример #1 Пример использования функции socket_set_nonblock()
<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);
socket_accept($socket);
?>
Пример создаёт слушающий сокет на всех интерфейсах на порту 1223
и устанавливает сокет в режим O_NONBLOCK
.
Функция socket_accept() немедленно вернёт ошибку,
если только именно в этот момент нету ожидающего соединения.