(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)