Socket.io: ¿Cómo limpiar la habitación?

Creado en 29 ago. 2017  ·  5Comentarios  ·  Fuente: socketio/socket.io

como io.to ("chat"). clear (), todos los conectores de la sala "chat" saldrán

Comentario más útil

voto para agregar. función room.kick () donde puede pasar una identificación específica, una matriz o 'TODOS' para eliminar a todos

Todos 5 comentarios

Las salas de
Puede hacer esto para eliminar a todos los clientes de una sala:

io.of('/').in('chat').clients((error, socketIds) => {
  if (error) throw error;

  socketIds.forEach(socketId => io.sockets.sockets[socketId].leave('chat'));

});

https://socket.io/docs/server-api/#namespace -clients-callback

Para completar la respuesta de @rllalloshi , en una configuración de múltiples servidores, debe usar el método removeLeave del adaptador:

io.of('/').in('chat').clients((error, socketIds) => {
  if (error) throw error;

  socketIds.forEach(socketId => io.of('/').adapter.remoteLeave(socketId, 'chat'));

});

Referencia

Las salas de
Puede hacer esto para eliminar a todos los clientes de una sala:

io.of('/').in('chat').clients((error, socketIds) => {
  if (error) throw error;

  socketIds.forEach(socketId => io.sockets.sockets[socketId].leave('chat'));

});

https://socket.io/docs/server-api/#namespace -clients-callback

no funcionó en socket.io 2.2.0

¿Por qué no hay una simple llamada para eliminar todos los enchufes de una habitación? Es un caso de uso muy común

voto para agregar. función room.kick () donde puede pasar una identificación específica, una matriz o 'TODOS' para eliminar a todos

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

kootoopas picture kootoopas  ·  4Comentarios

Aweather picture Aweather  ·  4Comentarios

gCurtisCT picture gCurtisCT  ·  4Comentarios

Elliot9 picture Elliot9  ·  4Comentarios

stnwk picture stnwk  ·  4Comentarios