socket_set_block

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

socket_set_blockУстанавливает блокирующий режим на сокете

Описание

socket_set_block(Socket$socket): bool

Функция socket_set_block() убирает флаг O_NONBLOCK с сокета, указанного в параметре socket.

Когда операция (например, получение, отправка, соединение, принятие соединения, ...) выполняется на блокирующем сокете, скрипт будет приостанавливать своё выполнение до тех пор, пока он не получит сигнал или возможность выполнить операцию.

Список параметров

socket

Экземпляр Socket, созданный при помощи функции socket_create() или socket_accept().

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Список изменений

ВерсияОписание
8.0.0socket теперь экземпляр класса Socket; ранее был ресурсом (resource).

Примеры

Пример #1 Пример использованияsocket_set_block()

<?php
$socket
= socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

Этот пример создаёт слушающий сокет на всех интерфейсах на порту 1223 и устанавливает сокет в режим O_BLOCK. Функция socket_accept() зависнет до тех пор, пока не будет принято соединение.

Смотрите также

  • socket_set_nonblock() - Устанавливает неблокирующий режим для файлового дескриптора fd
  • socket_set_option() - Устанавливает опции для сокета
To Top