socket_set_nonblock
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_set_nonblock — Встановлює неблокуючий режим файлового дескриптора fd
Опис
socket_set_nonblock(Socket $socket): bool
Функцияsocket_set_nonblock()устанавливает флагO_NONBLOCK
на сокеті, вказаному у параметрі socket
Коли операція (наприклад, отримання, відправлення, з'єднання, прийняття з'єднання, ...) виконується на неблокуючому сокеті, скрипт не припинятиме своє виконання до отримання сигналу або можливості виконати операцію. Якщо операція, що виконується, повинна привести до блокування виконання скрипта, то замість цього викликана функція поверне помилку.
Список параметрів
socket
Екземпляр Socket, створений за допомогою функції socket_create() або socket_accept()
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
список змін
Версия | Опис |
---|---|
8.0.0 | socket тепер екземпляр класу Socket; раніше був ресурсом (resource). |
Приклади
Приклад #1 Приклад використання socket_set_nonblock()****
Loading...
Цей приклад створює сокет, що слухає, на всіх інтерфейсах на порту 1223 і встановлює сокет в режим O_NONBLOCK
. . socket_accept() буде негайно повертати помилку, якщо тільки в цей момент немає очікуваного з'єднання.
Дивіться також
- socket_set_block() - Встановлює блокуючий режим на сокеті
- socket_set_option() - Встановлює опції для сокету
- stream_set_blocking() - Встановити блокуючий/неблокуючий режим у потоці