全二重接続を終了する

# stream_socket_shutdown

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

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

### 説明

function stream_socket_shutdown(resource `$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)

### 参考

- fclose() - オープンされたファイルポインタをクローズする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open