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