(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() зависнет до тех пор, пока не будет принято соединение.