2011-11-27 11 views
17

E 'possibile ottenere il socket.id del client che si è disconnesso? Il seguente codice mi dà undefined per socket.idsocket.id del client di disconnessione?

Node.js Codice

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

risposta

35

La funzione di callback che io.sockets.on prende come secondo argomento dovrebbe prendere un argomento: la presa. Il vostro non lo fa, quindi lo zoccolo sul numero socket.on della seconda riga non è definito.

E alla richiamata per socket.on non viene fornito alcun argomento, pertanto anche il socket in quella funzione non è definito.

Il codice dovrebbe funzionare se si sposta il parametro presa dalla seconda dichiarazione di funzione alla prima:

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