socket_read

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

説明

stringfalse socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ)

関数 socket_read は、関数 socket_create または socket_accept により作成された Socket クラスのインスタンス socket から読み込みます。

パラメータ

socket

socket_create あるいは socket_accept で作成した Socket クラスのインスタンス。

length

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

mode

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

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

戻り値

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

注意:

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

変更履歴

バージョン 説明
8.0.0 socket は、Socket クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。

参考

  • socket_accept
  • socket_bind
  • socket_connect
  • socket_listen
  • socket_last_error
  • socket_strerror
  • socket_write