socket_read
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_read — ソケットから最大バイト長まで読みこむ
説明
socket_read
( resource $socket
, int $length
[, int $type
= PHP_BINARY_READ
] ) : string
関数 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() は、読み込むデータがもう存在しない 場合に長さゼロの文字列("")を返します。
参考
- socket_accept() - ソケットへの接続を許可する
- socket_bind() - ソケットに名前をバインドする
- socket_connect() - ソケット上の接続を初期化する
- socket_listen() - ソケット上で接続待ち(listen)する
- socket_last_error() - ソケットの直近のエラーを返す
- socket_strerror() - ソケットエラーの内容を文字列として返す
- socket_write() - ソケットに書き込む