(PHP 5 >= 5.2.1, PHP 7)
stream_socket_shutdown — Закрывает полнодуплексное соединение
$stream
, int $how
)Закрывает (частично или нет) полнодуплексное соединение.
Замечание:
Ассоциированные буферы, или буферы, могут быть закрыты, а могут и нет.
stream
Открытый поток (открытый при помощи функции stream_socket_client(), например)
how
Одна из следующих констант: 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)