(PHP 5 >= 5.2.1, PHP 7, PHP 8)
stream_socket_shutdown — 全二重接続を終了する
$stream
, int $mode
): bool全二重接続を (一時的あるいはそうでなく) 終了します。
注意:
関連するバッファの内容は、空になるかもしれないしならないかもしれません。
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, "hello"));
stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // ここでは動作しません
?>
上の例の出力は、 たとえば以下のようになります。
int(5) Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in test.php on line 9 int(0)