(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_write — ソケットに書き込む
関数 socket_write() は、
data
の内容をソケット
socket
に書き込みます。
socket
data
書き込まれるバッファ。
length
オプションのパラメータ length
で、
ソケットに書き込むバイト数を指定することが可能です。
この値がバッファの長さより大きい場合、自動的にバッファのサイズに切り詰められます。
ソケットへの書き込みに成功したデータのバイト数を返します。失敗した場合に false
を返します。
エラーコードは socket_last_error()
を用いて取得することができ、この値を socket_strerror()
に渡すことでエラー情報を文字列で取得可能です。
注意:
socket_write() がゼロを返すことも十分ありえます。 これは、書き込むデータが存在しなかったことを意味します。 エラーをチェックするために
false
かどうかを調べる際には、必ず===
演算子を使用しましょう。
バージョン | 説明 |
---|---|
8.0.0 |
socket は、Socket クラスのインスタンスになりました。
これより前のバージョンでは、リソース型でした。
|
8.0.0 |
length は、nullable になりました。
|
注意:
socket_write() は、バッファの内容を必ずしもすべて 書き込むとは限りません。ネットワークバッファの状態にもよりますが、 たとえ 1 バイトだけ書き込まれたのであったとしても、それはエラーではなく正常な動作です。 そのため、データがすべて書き込まれたのかどうかに注意する必要があります。