"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment exclure l'expéditeur des diffusions Socket.IO ?

Comment exclure l'expéditeur des diffusions Socket.IO ?

Publié le 2024-11-09
Parcourir:786

How to Exclude the Sender from Socket.IO Broadcasts?

Envoi de la réponse à tous les clients sauf l'expéditeur

Pour diffuser un message à tous les clients connectés, la fonction io.sockets.emit() est utilisé. Cependant, lorsque vous souhaitez exclure l'expéditeur de la diffusion, vous pouvez vous interroger sur une approche plus simple que de vérifier l'ID de l'expéditeur côté client.

Dans Socket.IO, la propriété socket.broadcast fournit une solution pour ce scénario. En utilisant socket.broadcast.emit(), vous pouvez envoyer un message à tous les clients sauf l'expéditeur. Voici un exemple :

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

Dans cet exemple, lorsqu'un client envoie un événement « curseur », le serveur diffuse les données reçues à tous les autres clients connectés, à l'exclusion de l'expéditeur.

Voici un résumé de Socket .IO émet des fonctions pour votre référence :

  • socket.emit() : envoie un message au client expéditeur uniquement.
  • io.emit() : envoie un message à tous clients, y compris l'expéditeur.
  • socket.broadcast.emit() : envoie un message à tous les clients sauf l'expéditeur.
  • socket.broadcast.to() : envoie un message à tous les clients dans une salle ou un canal spécifique, à l'exception de l'expéditeur.
  • socket.to() : envoie un message au client expéditeur, uniquement s'il se trouve dans une salle ou un canal spécifique.
  • io .in() : envoie un message à tous les clients d'une salle ou d'un canal spécifique, y compris l'expéditeur.
  • socket.broadcast.to(socketid) : envoie un message à un ID client spécifique.
  • io.of() : envoie un message à tous les clients dans un espace de noms spécifique, y compris l'expéditeur.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3