Когда кто-то подключается к серверу узла, я сохраняю массив со всеми сокетами.Таким образом, я могу транслировать сообщения всем, когда это необходимо, или перебирать пользователей, чтобы посчитать количество онлайн-пользователей и т. Д.
Все это работает нормально, но когда срабатывает событие отключения, я нене получить сокет в моих аргументах.Есть ли другой способ узнать, какой сокет только что отключен?
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];
});
});
Конечно, приведенный выше пример не работает, потому что событие отключения не дает аргумента сокета (или любого другого аргумента).Так есть ли другое событие, которое произошло перед разъединением, где сокет все еще там?
Али