2011-11-27 18 views
17

¿Es posible obtener el socket.id del cliente que se ha desconectado? El siguiente código me da undefined para socket.idsocket.id de desconectar el cliente?

Node.js Código

io.sockets.on('connection', function() { 
    socket.on('disconnect', function(socket) { 
     console.log(socket.id); 
    }); 
}); 

Respuesta

35

La función de devolución de llamada que io.sockets.on toma como segundo argumento se supone que debe tener un argumento: el zócalo. La tuya no, por lo que el socket en el socket.on de la segunda línea no está definido.

Y la devolución de llamada para socket.on no recibe ningún argumento, por lo que el socket en esa función tampoco está definido.

El código debería funcionar si se mueve el parámetro toma de la segunda declaración de la función a la primera:

io.sockets.on('connection', function (socket) { 
    socket.on('disconnect', function() { 
     console.log(socket.id); 
    }); 
}); 
Cuestiones relacionadas