ソケットに書き込む

# socket_write

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_write — ソケットに書き込む

### 説明

socket_write ( resource `$socket` , string `$buffer` [, int `$length` = 0 ] ) : int

関数 socket_write() は、 `buffer` の内容をソケット `socket` に書き込みます。

### パラメータ

`socket`

`buffer`

  書き込まれるバッファ。

`length`

  オプションのパラメータ `length` で、 ソケットに書き込むバイト数を指定することが可能です。 この値がバッファの長さより大きい場合、自動的にバッファのサイズに切り詰められます。

### 返り値

ソケットへの書き込みに成功したデータのバイト数を返します。失敗した場合に `FALSE` を返します。 エラーコードは socket_last_error() を用いて取得することができ、この値を socket_strerror() に渡すことでエラー情報を文字列で取得可能です。

> 注意:

> socket_write() がゼロを返すことも十分ありえます。 これは、書き込むデータが存在しなかったことを意味します。 エラーをチェックするために `FALSE` かどうかを調べる際には、必ず === 演算子を使用しましょう。

### 注意

> 注意:

> socket_write() は、バッファの内容を必ずしもすべて 書き込むとは限りません。ネットワークバッファの状態にもよりますが、 たとえ 1 バイトだけ書き込まれたのであったとしても、それはエラーではなく正常な動作です。 そのため、データがすべて書き込まれたのかどうかに注意する必要があります。

### 参考

- socket_accept() - ソケットへの接続を許可する
- socket_bind() - ソケットに名前をバインドする
- socket_connect() - ソケット上の接続を初期化する
- socket_listen() - ソケット上で接続待ち(listen)する
- socket_read() - ソケットから最大バイト長まで読みこむ
- socket_strerror() - ソケットエラーの内容を文字列として返す