socket_write
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_write — ソケットに書き込む
説明
socket_write
( resource $socket
, string $buffer
[, int $length
= 0
] ) : int|false
関数 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() - ソケットエラーの内容を文字列として返す