socket_write

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_writeソケットに書き込む

説明

socket_write(Socket $socket, string $data, ?int $length = null): int|false

関数 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 バイトだけ書き込まれたのであったとしても、それはエラーではなく正常な動作です。 そのため、データがすべて書き込まれたのかどうかに注意する必要があります。

参考

関連キーワード:  ソケット, バッファ, length, エラー, バイト, 注意, データ, data, strerror, 内容