socket_set_block
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
socket_set_block — Устанавливает блокирующий режим на ресурсе сокета
Описание
$socket
)
Функция socket_set_block() убирает флаг
O_NONBLOCK
с сокета, указанного в параметре
socket
.
Когда операция (например, получение, отправка, соединение, принятие соединения, ...) выполняется на блокирующем сокете, скрипт будет приостанавливать своё выполнение до тех пор, пока он не получит сигнал или возможность выполнить операцию.
Список параметров
-
socket
-
Действующий ресурс сокета, созданный при помощи функции socket_create() или socket_accept().
Возвращаемые значения
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Примеры
Пример #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() - Устанавливает опции для сокета
- socket_accept
- socket_bind
- socket_clear_error
- socket_close
- socket_cmsg_space
- socket_connect
- socket_create_listen
- socket_create_pair
- socket_create
- socket_get_option
- socket_getopt
- socket_getpeername
- socket_getsockname
- socket_import_stream
- socket_last_error
- socket_listen
- socket_read
- socket_recv
- socket_recvfrom
- socket_recvmsg
- socket_select
- socket_send
- socket_sendmsg
- socket_sendto
- socket_set_block
- socket_set_nonblock
- socket_set_option
- socket_setopt
- socket_shutdown
- socket_strerror
- socket_write
Коментарии
Besides true and false socket_set_block might return NULL if you're not too careful. That would happen when passing non socket resource as first parameter.
E.g. socket_set_block(false)) would return NULL and emit warning that you're trying to do things with non-socket.