(PHP 5 >= 5.2.1, PHP 7, PHP 8)
stream_socket_shutdown — Закрывает полнодуплексное соединение
Функция закрывает (частично или нет) полнодуплексное соединение.
Замечание:
Ассоциированные буферы, или буферы, могут быть закрыты, а могут и нет.
stream
Открытый поток (например тот, который открыли функцией stream_socket_client()).
mode
Константа из следующего списка: STREAM_SHUT_RD
(отключает последующее получение данных), STREAM_SHUT_WR
(отключает последующую передачу данных) или
STREAM_SHUT_RDWR
(отключает последующие получение и
передачу данных).
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Пример использования функции stream_socket_shutdown()
<?php
$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');
var_dump(fputs($client, "привет"));
stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "привет")); // Не работает сейчас
?>
Вывод приведённого примера будет похож на:
int(5) Notice: fputs(): send of 6 bytes failed with errno=32 Broken pipe in test.php on line 9 int(0)