tutorial socket principiantes para node libro example ejemplos node.js socket.io disconnect

node.js - principiantes - socket io tutorial



node.js no envía el socket al evento de desconexión (1)

Ya tiene el socket, porque el controlador de desconexión se declara dentro del alcance del evento ''connection''. Intente eliminar el parámetro que está pasando al manejador de ''desconexión'', debería poder trabajar con el parámetro de socket desde el manejador de conexión.

io.sockets.on(''connection'', function(socket) { allClients.push(socket); socket.on(''disconnect'', function() { console.log(''Got disconnect!''); var i = allClients.indexOf(socket); delete allClients[i]; }); });

Aparte de eso, no necesita una matriz de socket para transmitir, puede usar salas para agrupar tomas y transmitir a todos los enchufes dentro de esa habitación.

Cuando alguien se conecta al servidor de nodo, guardo una matriz con todos los sockets. De esa forma puedo transmitir mensajes a todos cuando sea necesario o recorrer los usuarios para contar la cantidad de usuarios en línea, etc.

Todo esto funciona bien, pero cuando se activa un evento de desconexión, no recibo un socket en mis argumentos. ¿Hay alguna otra forma de saber qué toma de corriente acaba de desconectar?

var allClients = []; io.sockets.on(''connection'', function(socket) { allClients.push(socket); socket.on(''disconnect'', function(socket) { console.log(''Got disconnect!''); var i = allClients.indexOf(socket); delete allClients[i]; }); });

Por supuesto, el ejemplo anterior no funciona, porque el evento de desconexión no da un argumento de socket (ni ningún otro argumento). Entonces, ¿hay otro evento que se disparó antes de una desconexión donde el socket todavía está allí?

Ali