ホームページ >ウェブフロントエンド >jsチュートリアル >Socket.IO でメッセージをブロードキャストするときに送信者を除外する方法は?
Socket.IO で送信者を除くすべてのクライアントに応答を送信する方法
Socket.IO で接続されているすべてのクライアントにメッセージを送信するには、通常は io.sockets.emit() メソッドを使用します。ただし、送信者を除くすべてのクライアントにメッセージを選択的にブロードキャストする必要がある状況が発生する場合があります。
これを実現するには、Socket.IO が提供するソケット.broadcast.emit() メソッドを利用できます。このメソッドを使用すると、リクエストを開始したクライアント以外の、接続されているすべてのクライアントにメッセージを送信できます。
次のスニペットを考えてみましょう:
<code class="javascript">socket.broadcast.emit('message', "this is a test");</code>
この例では、「」というテキストを含むメッセージが表示されます。これはテストです」というメッセージは、メッセージを送信したクライアントを除く、接続されているすべてのクライアントに送信されます。
特定のイベント名を指定せずにブロードキャスト プロパティを使用することもできます。これにより、発行されたイベントがすべてのクライアントにブロードキャストされます。送信者。例:
<code class="javascript">socket.broadcast.emit({ event: 'message', data: "this is a test" });</code>
この代替アプローチを使用すると、メッセージ内のイベント名とともに追加データを指定できます。
この手法を採用することで、接続されているすべてのクライアントにメッセージを効果的にブロードキャストできます。元の送信者を除外しながら、Socket.IO アプリケーションに対話型で対象を絞った通信メカニズムを実装できるようにします。
以上がSocket.IO でメッセージをブロードキャストするときに送信者を除外する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。