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