socket_read

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

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

説明

socket_read(Socket $socket, int $length, int $mode = PHP_BINARY_READ): string|false

関数 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 クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。

参考

関連キーワード:  ソケット, バイト, 最大, read, 接続, エラー, 関数, Socket, mode, クラス