Подтвердить что ты не робот

Socket.id отключающего клиента?

Можно ли отключить socket.id клиента, который отключился? Следующий код дает мне undefined для socket.id

Node.js Код

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

Ответ 1

Функция обратного вызова, которая принимает io.sockets.on как второй аргумент, должна принимать один аргумент: сокет. У вас нет, поэтому сокет на второй строке socket.on равен undefined.

И обратный вызов для socket.on не содержит никаких аргументов, поэтому socket в этой функции также undefined.

Код должен работать, если вы переместите параметр сокета из объявления второй функции в первую:

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