Te traemos el hallazgo a este enigma, o por lo menos eso creemos. Si presentas preguntas compártelo en un comentario, que con gusto te ayudaremos
Solución:
io.sockets.emit
enviará a todos los clientes
socket.broadcast.emit
enviará el mensaje a todos los demás clientes excepto a la conexión recién creada
Esta publicación Wiki de Socket.IO ayudará a todos los que lean esta pregunta:
socket.broadcast.emit()
se comporta de manera similar a io.sockets.emit
, pero en lugar de emitir a todos los enchufes conectados, emitirá a todos los enchufes conectados excepto al que se está llamando. Entonces, en este caso, el socket al que hace referencia socket
no recibirá el evento.
Escenario: 1: – Por el uso de io.sockets.emit
Diagrama detallado:-io.sockets.emit
Aquí cada socket recibe el mensaje, incluido Iniciador.
// BY IO>SOCKETS>EMIT
io.sockets.emit('MyChannelBroadcast',
owner:"Anshu Ashish",
clientCount:clients,
message:"Welcome All"
);
Escenario: 2: – Por el uso de socket.broadcast.emit
Diagrama detallado: -socket.broadcast.emit
Aquí todos los sockets reciben mensajes excepto uno, es decir Iniciador.
// BY SOCKET>BROADCAST>EMIT
socket.broadcast.emit('BroadCastExceptMe',data:"HAVE A NICE DAY");
Conclusión: – Ahora dependerá totalmente de nuestros requisitos comerciales cuál será preferible.
Te invitamos a añadir valor a nuestra información contribuyendo tu experiencia en las interpretaciones.