„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie schließe ich den Absender von Socket.IO-Broadcasts aus?

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

Veröffentlicht am 09.11.2024
Durchsuche:307

How to Exclude the Sender from Socket.IO Broadcasts?

Senden einer Antwort an alle Clients außer dem Absender

Um eine Nachricht an alle verbundenen Clients zu senden, ist 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 ID des Absenders auf der Clientseite zu überprüfen.

In Socket.IO bietet die Eigenschaft socket.broadcast Folgendes 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:

socket.on('cursor', function(data) {
  socket.broadcast.emit('response', data);
});

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 ist eine Zusammenfassung von 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.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3