Comment envoyer une réponse à tous les clients à l'exception de l'expéditeur dans Socket.IO ?
Socket.IO propose une gamme de méthodes de communication entre les clients et le serveur. Pour envoyer des messages à tous les clients, vous pouvez utiliser io.sockets.emit('response', data);. Cependant, lorsque vous devez exclure le client expéditeur de la réception de la réponse, cette approche ne suffit pas.
Une solution simple : socket.broadcast.emit()
Le La solution réside dans l’utilisation de la méthode socket.broadcast.emit(). Cette méthode envoie un message à tous les clients connectés sauf celui qui l'a envoyé. L'utilisation est simple :
<code class="javascript">socket.on('cursor', function(data) { socket.broadcast.emit('response', data); });</code>
Dans cet exemple, lorsqu'un client émet un événement « curseur », le serveur renvoie les données à tous les autres clients en utilisant socket.broadcast.emit().
Options de diffusion supplémentaires
Socket.IO fournit également des options de diffusion supplémentaires qui permettent un contrôle plus granulaire :
En comprenant ces méthodes de diffusion, vous pouvez gérer efficacement la communication entre les clients et le serveur, en garantissant que les messages atteignent uniquement les destinataires prévus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!