"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo excluir al remitente de las transmisiones de Socket.IO?

¿Cómo excluir al remitente de las transmisiones de Socket.IO?

Publicado el 2024-11-09
Navegar:651

How to Exclude the Sender from Socket.IO Broadcasts?

Enviando respuesta a todos los clientes excepto al remitente

Para transmitir un mensaje a todos los clientes conectados, la función io.sockets.emit() es usado. Sin embargo, cuando desee excluir al remitente de la recepción de la transmisión, es posible que se pregunte cuál es un enfoque más sencillo que verificar la identificación del remitente en el lado del cliente.

En Socket.IO, la propiedad socket.broadcast proporciona una solución para este escenario. Al utilizar socket.broadcast.emit(), puede enviar un mensaje a todos los clientes excepto al remitente. Aquí hay un ejemplo:

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

En este ejemplo, cuando un cliente envía un evento de 'cursor', el servidor transmite los datos recibidos a todos los demás clientes conectados, excluyendo al remitente.

Aquí hay un resumen de Socket Funciones de emisión .IO para su referencia:

  • socket.emit(): envía un mensaje al remitente-cliente solamente.
  • io.emit(): envía un mensaje a todos los clientes, incluido el remitente.
  • socket.broadcast.emit(): envía un mensaje a todos los clientes excepto al remitente.
  • socket.broadcast.to(): envía un mensaje a todos los clientes en una sala o canal específico, excepto al remitente.
  • socket.to(): envía un mensaje al remitente-cliente, solo si está en una sala o canal específico.
  • io.in(): envía un mensaje a todos los clientes en una sala o canal específico, incluido el remitente.
  • socket.broadcast.to(socketid): envía un mensaje a un ID de cliente específico.
  • io.of(): envía un mensaje a todos los clientes en un espacio de nombres específico, incluido el remitente.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3