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

socket_recvmsg

メッセージを読んでください
名前:socket_recvmsg
カテゴリ:ソケット
対応言語:php
一言説明:メッセージを受信します

関数名:socket_recvmsg()

該当するバージョン:PHP 8.0.0以上

使用法:socket_recvmsg(リソース$ socket、socketmsgflags&$ flags):socketmsg

パラメーター:

  • $ socket:メッセージを受信するための有効なソケットリソースを表します。
  • &$ flags:メッセージを受信するときにフラグビットを受信するために使用される参照パラメーター。

返品値:

  • 受信したメッセージの詳細を含むSocketMSGオブジェクトを返します。

例:

 // 创建一个TCP socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() 失败: " . socket_strerror(socket_last_error()) . "\n"; exit; } // 绑定socket 到IP 地址和端口if (socket_bind($socket, '127.0.0.1', 8080) === false) { echo "socket_bind() 失败: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } // 监听连接if (socket_listen($socket, 5) === false) { echo "socket_listen() 失败: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } // 接受客户端连接$clientSocket = socket_accept($socket); if ($clientSocket === false) { echo "socket_accept() 失败: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } // 接收消息$flags = MSG_WAITALL; $message = socket_recvmsg($clientSocket, $flags); if ($message === false) { echo "socket_recvmsg() 失败: " . socket_strerror(socket_last_error($clientSocket)) . "\n"; exit; } // 打印接收到的消息echo "接收到的消息:\n"; var_dump($message); // 关闭socket 连接socket_close($clientSocket); socket_close($socket);

説明:

  • この例では、TCPソケットが最初に作成され、ローカルIPアドレスとポートに結合されます。
  • 次に、socket_listen()関数を介した接続要求を聞き、socket_accept()関数を介してクライアント接続を受け入れ、新しいソケットリソース$ clientsocketを取得します。
  • 最後に、クライアントが送信したメッセージは、socket_recvmsg()関数を呼び出して受信し、$メッセージ変数に保存されます。
  • 最後に、受信したメッセージを印刷して、ソケット接続を閉じます。

この例は、socket_recvmsg()関数の基本的な使用法のみを示しており、使用する際に特定のニーズに応じて適切な変更とエラー処理が必要になる場合があることに注意してください。

類似の関数
  • ソケットのソケットオプションを取得します socket_get_option

    socket_get_option

    ソケットのソケットオプションを取得します
  • メッセージを送信します socket_sendmsg

    socket_sendmsg

    メッセージを送信します
  • ソケットで接続を開始します socket_connect

    socket_connect

    ソケットで接続を開始します
  • ソケットを作成する(通信エンドポイント) socket_create

    socket_create

    ソケットを作成する(通信エンドポイント)
  • ソケットエラーを説明する文字列を返します socket_strerror

    socket_strerror

    ソケットエラーを説明する文字列を返します
  • 別のプロセスからソケットをインポートします socket_wsaprotocol_info_import

    socket_wsaprotocol_info_import

    別のプロセスからソケットをインポートしま
  • ソケットの接続を聞いてください socket_listen

    socket_listen

    ソケットの接続を聞いてください
  • AddRinfoの情報を入手してください socket_addrinfo_explain

    socket_addrinfo_explain

    AddRinfoの情報を入手してください
人気記事(にんききじ)