socket_send

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

socket_send接続したソケットにデータを送信する

説明

socket_send(
    Socket $socket,
    string $data,
    int $length,
    int $flags
): int|false

関数 socket_send() は、 data からソケット socketlength バイトのデータを送信します。

パラメータ

socket

socket_create() あるいは socket_accept() が作成した有効な Socket クラスのインスタンス。

data

リモートホストに送信するデータを含むバッファ。

length

data からリモートホストに送信するバイト数。

flags

flags の値は、以下のフラグの任意の組み合わせを 論理 OR 演算子 (|) で連結したものとなります。

flags がとりうる値
MSG_OOB OOB(out-of-band: 帯域外)データを送信します。
MSG_EOR レコードにマークをつけます。 レコードでデータがそろいます。
MSG_EOF ソケットの送信側を閉じ、そのことを知らせる通知を送信データの最後に付加します。 トランザクションでデータがそろいます。
MSG_DONTROUTE ルータを使用せず、直接つながっているインターフェイスのみを使用します。

戻り値

socket_send() は、送信したバイト数あるいはエラー時に false を返します。

変更履歴

バージョン 説明
8.0.0 socket は、Socket クラスのインスタンスになりました。 これより前のバージョンでは、リソース型でした。

参考

  • socket_sendto() - 接続しているかどうかによらずソケットにメッセージを送信する

add a note add a note

User Contributed Notes 1 note

up
-1
raf_edu17 at hotmail dot com
5 years ago
//creo la conexio socket
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); //protocolo UDP
//$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //protocolo TCP

//obtengo valor en bytes
$len = strlen($msg->toString(1));

//envio informacion a socket
$sendMsg = socket_send($sock, $msg->toString(1), $len, MSG_DONTROUTE);

//cierro conexion iniciada
socket_close($sock);
To Top