Heim  >  Artikel  >  Web-Frontend  >  Wie schließe ich den Absender von Socket.IO-Broadcasts aus?

Wie schließe ich den Absender von Socket.IO-Broadcasts aus?

Barbara Streisand
Barbara StreisandOriginal
2024-10-31 02:02:29233Durchsuche

How to Exclude the Sender from Socket.IO Broadcasts?

Antwort an alle Clients außer dem Absender senden

Um eine Nachricht an alle verbundenen Clients zu senden, dient die Funktion io.sockets.emit() gebraucht. Wenn Sie jedoch den Absender vom Empfang der Übertragung ausschließen möchten, fragen Sie sich möglicherweise nach einem einfacheren Ansatz, als die Absender-ID auf der Clientseite zu überprüfen.

In Socket.IO stellt die Eigenschaft socket.broadcast Folgendes bereit eine Lösung für dieses Szenario. Mit socket.broadcast.emit() können Sie eine Nachricht an alle Clients außer dem Absender senden. Hier ist ein Beispiel:

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

Wenn in diesem Beispiel ein Client ein „Cursor“-Ereignis sendet, sendet der Server die empfangenen Daten an alle anderen verbundenen Clients, mit Ausnahme des Absenders.

Hier eine Zusammenfassung der Socket.IO-Emit-Funktionen als Referenz:

  • socket.emit(): Sendet eine Nachricht nur an den Absender-Client.
  • io.emit(): Sendet eine Nachricht an alle Clients, einschließlich des Absenders.
  • socket.broadcast.emit(): Sendet eine Nachricht an alle Clients außer dem Absender.
  • socket.broadcast.to(): Sendet eine Nachricht an alle Clients in einem bestimmten Raum oder Kanal, außer dem Absender.
  • socket.to(): Sendet eine Nachricht an den Absender-Client, nur wenn er sich in einem bestimmten Raum oder Kanal befindet.
  • io.in(): Sendet eine Nachricht an alle Clients in einem bestimmten Raum oder Kanal, einschließlich des Absenders.
  • socket.broadcast.to(socketid): Sendet eine Nachricht an eine bestimmte Client-ID.
  • io.of(): Sendet eine Nachricht an alle Clients in einem bestimmten Namespace, einschließlich des Absenders.

Das obige ist der detaillierte Inhalt vonWie schließe ich den Absender von Socket.IO-Broadcasts aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn