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