そのまんま!

stream_socket_shutdown

(no version information, might be only in CVS)

stream_socket_shutdown -- 全二重接続を終了する

説明

int stream_socket_shutdown ( resource 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, "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)

参考

fclose()