node.js não envia soquete no evento de desconexão

Quando alguém se conecta ao servidor do nó, mantenho uma matriz com todos os soquetes. Dessa forma, eu posso transmitir mensagens para todo mundo sempre que necessário ou percorrer os usuários para contar o número de usuários on-line etc.

Tudo isso funciona bem, mas quando um evento onconnect é disparado, não recebo um soquete nos meus argumentos. Existe outra maneira de saber qual soquete acabou 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];
   });
});

Claro que o exemplo acima não funciona, porque evento de desconexão não fornece um argumento de soquete (ou qualquer outro argumento). Então, existe outro evento disparado antes de uma desconexão onde o soquete ainda está l

Todo

questionAnswers(2)

yourAnswerToTheQuestion