(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_sendto — 接続しているかどうかによらずソケットにメッセージを送信する
$socket
,$data
,$length
,$flags
,$address
,$port
= null
関数 socket_sendto() は、 アドレス addr
の port
を使用し、 data
からソケット socket
に length
バイトのデータを送信します。
socket
socket_create() で作成した Socket クラスのインスタンス。
data
送信するデータが、data
から取り出されます。
length
data
から length
バイト分のデータが送信されます。
flags
flags
の値は、以下のフラグの任意の組み合わせを 論理 OR 演算子 (|
) で連結したものとなります。
MSG_OOB | OOB(out-of-band: 帯域外)データを送信します。 |
MSG_EOR | レコードにマークをつけます。 レコードでデータがそろいます。 |
MSG_EOF | ソケットの送信側を閉じ、そのことを知らせる通知を送信データの最後に付加します。 トランザクションでデータがそろいます。 |
MSG_DONTROUTE | ルータを使用せず、直接つながっているインターフェイスのみを使用します。 |
address
リモートホストの IP アドレス。
port
port
は、 データの送信先となるリモートホストのポート番号です。
socket_sendto() は、リモートホストに送信したバイト数を返します。 エラーが発生した場合は false
を返します。
バージョン | 説明 |
---|---|
8.0.0 | socket は、Socket クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。 |
8.0.0 | port は、nullable になりました。 |
例1 socket_sendto() の例
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "Ping !";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>