socket_listen
socket_recv
ソケット 関数
PHP Manual

# socket_read

(PHP 4 >= 4.1.0, PHP 5)

socket_read — ソケットから最大バイト長まで読みこむ

### 説明

string socket_read ( resource `$socket` , int `$length` [, int `$type` = PHP_BINARY_READ ] )

関数 socket_read() は、関数 socket_create() または socket_accept() により作成されたソケット リソース `socket` から読み込みます。

### パラメータ

`socket`

  socket_create() あるいは socket_accept() で作成したソケットリソース。

`length`

  読み込まれる最大バイト長は、`length` パラメータで 指定します。 読み込みを終了するために `\r`、`\n`、 `\0` を使用することが可能です (これは、以下に示す `type` に依存します)。

`type`

  オプションのパラメータ `type` は、名前のある定数です。

  - `PHP_BINARY_READ` (デフォルト) - システムの recv() 関数を 使用します。バイナリデータ読み込みに関して安全です。
  - `PHP_NORMAL_READ` - 読み込みは、\n あるいは \r で中断されます。

### 返り値

socket_read() は、成功時に文字列としてデータを返し、 エラー時 (リモートホストが接続をクローズした場合を含みます) に `FALSE` を返します。 エラーコードは socket_last_error() で取得可能であり、 このコードは、エラー文字列を取得するために socket_strerror() に渡すことができます。

> 注意: socket_read() は、読み込むデータがもう存在しない 場合に長さゼロの文字列("")を返します。

### 変更履歴

バージョン | 説明
--- | ---
4.1.0 | `type` のデフォルト値が `PHP_NORMAL_READ` から `PHP_BINARY_READ` に変わりました。

### 参考

- socket_accept() - ソケットへの接続を許可する
- socket_bind() - ソケットに名前をバインドする
- socket_connect() - ソケット上の接続を初期化する
- socket_listen() - ソケット上で接続待ち(listen)する
- socket_last_error() - ソケットの直近のエラーを返す
- socket_strerror() - ソケットエラーの内容を文字列として返す
- socket_write() - ソケットに書き込む

socket_listen
socket_recv
ソケット 関数
PHP Manual