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