ホームページ >ウェブフロントエンド >jsチュートリアル >Socket.IO ブロードキャストから送信者を除外するにはどうすればよいですか?

Socket.IO ブロードキャストから送信者を除外するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 02:02:29304ブラウズ

How to Exclude the Sender from Socket.IO Broadcasts?

送信者を除くすべてのクライアントに応答を送信する

接続されているすべてのクライアントにメッセージをブロードキャストするには、io.sockets.emit() 関数を使用します。使用済み。ただし、送信者をブロードキャストの受信から除外したい場合は、クライアント側で送信者の ID を確認するよりも簡単な方法について疑問に思うかもしれません。

Socket.IO では、socket.broadcast プロパティが提供します。このシナリオの解決策。 socket.broadcast.emit() を使用すると、送信者を除くすべてのクライアントにメッセージを送信できます。以下に例を示します。

<code class="javascript">socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});</code>

この例では、クライアントが「カーソル」イベントを送信すると、サーバーは受信したデータを、送信者を除く接続されている他のすべてのクライアントにブロードキャストします。

は次のとおりです。参照用の Socket.IO 発行関数の概要:

  • socket.emit(): メッセージを送信側クライアントのみに送信します。
  • io.emit(): 送信送信者を含むすべてのクライアントにメッセージを送信します。
  • socket.broadcast.emit(): 送信者を除くすべてのクライアントにメッセージを送信します。
  • socket.broadcast.to():送信者を除く、特定のルームまたはチャネル内のすべてのクライアントにメッセージを送信します。
  • socket.to(): 送信者クライアントが特定のルームまたはチャネルにいる場合にのみ、メッセージを送信者クライアントに送信します。
  • io.in(): 送信者を含む、特定のルームまたはチャネル内のすべてのクライアントにメッセージを送信します。
  • socket.broadcast.to(socketid): 特定のクライアント ID にメッセージを送信します。
  • io.of(): 送信者を含む、特定の名前空間内のすべてのクライアントにメッセージを送信します。

以上がSocket.IO ブロードキャストから送信者を除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。