現在の位置: ホーム> 関数カテゴリ一覧> socket_recvfrom

socket_recvfrom

接続指向かどうかにかかわらず、ソケットからデータを受信する
名前:socket_recvfrom
カテゴリ:ソケット
対応言語:php
一言説明:指定されたソケットからデータを受信し、指定された変数に送信者のアドレスとポートを保存します

関数名:socket_recvfrom()

該当するバージョン:PHP 4> = 4.1.0、PHP 5、PHP 7

関数の説明:socket_recvfrom()関数は、指定されたソケットからデータを受信し、指定された変数に送信者のアドレスとポートを保存します。

構文:int socket_recvfrom(resource $ socket、string&$ buf、int $ len、int $ flags、string&$ name [、int&$ port])

パラメーター説明:

  • $ソケット:必須、指定されたソケットリソース。
  • $ buf:必須、受信したデータの保存に使用される変数。
  • $ len:必須、受信する最大バイト数を指定します。
  • $ flags:オプション、データを受信するためのフラグを指定します。デフォルトは0です。
  • $ name:必須、送信者のアドレスを保存するために使用される変数。
  • $ポート:オプション、送信者のポート変数を保存するために使用され、デフォルトは0です。

返品値:成功したときに受信したバイト数を返し、障害時にfalseを返します。

サンプルコード:

 $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($socket === false) { echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n"; exit; } $bind = socket_bind($socket, '0.0.0.0', 8888); if ($bind === false) { echo "socket_bind() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } $buffer = ''; $senderAddress = ''; $senderPort = 0; // 接收数据并获取发送方的地址和端口$bytes = socket_recvfrom($socket, $buffer, 1024, 0, $senderAddress, $senderPort); if ($bytes === false) { echo "socket_recvfrom() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } echo "Received $bytes bytes from $senderAddress:$senderPort\n"; echo "Data: $buffer\n"; socket_close($socket);

上記のサンプルコードはUDPソケットを作成し、ローカルポート8888にバインドします。次に、socket_recvfrom()関数を使用してデータを受信し、対応する変数に送信者のアドレスとポートを保存します。最後に、受信したデータ、送信者のアドレス、ポートを出力し、ソケットを閉じます。

注:この例は、UDPソケットを使用することです。 TCPソケットを使用する必要がある場合は、Socket_Recv()関数を使用してデータを受信する必要があります。

類似の関数
  • 特定のソケットのローカルエンドをクエリします。このタイプに応じて、ホスト/ポートまたはUNIXファイルシステムパスになる可能性があります socket_getsockname

    socket_getsockname

    特定のソケットのローカルエンドをクエリし
  • 区別できないソケットのペアを作成し、それらを配列に保存します socket_create_pair

    socket_create_pair

    区別できないソケットのペアを作成し、それ
  • 特定のソケットのリモートエンドをクエリします。このタイプに応じて、ホスト/ポートまたはUNIXファイルシステムパスになる可能性があります socket_getpeername

    socket_getpeername

    特定のソケットのリモートエンドをクエリし
  • 接続指向かどうかにかかわらず、ソケットからデータを受信する socket_recvfrom

    socket_recvfrom

    接続指向かどうかにかかわらず、ソケットか
  • ファイル記述子FDの非ブロッキングモードを設定します socket_set_nonblock

    socket_set_nonblock

    ファイル記述子FDの非ブロッキングモード
  • socket_get_optionのエイリアス socket_getopt

    socket_getopt

    socket_get_optionのエイ
  • 指定されたaddrinfoからソケットに作成して接続します socket_addrinfo_connect

    socket_addrinfo_connect

    指定されたaddrinfoからソケットに
  • 接続されたソケットからデータを受信します socket_recv

    socket_recv

    接続されたソケットからデータを受信します
人気記事(にんききじ)