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

# socket_set_block

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

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

### Описание

function socket_set_block(Socket `$socket`): bool

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

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

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open