socket.id断开客户端?

Nyx*_*nyx 19 node.js socket.io

是否有可能获得socket.id已断开连接的客户端?下面的代码给我undefinedsocket.id

Node.js代码

io.sockets.on('connection', function() {
    socket.on('disconnect', function(socket) {
        console.log(socket.id);
    });
});
Run Code Online (Sandbox Code Playgroud)

Fel*_*her 43

io.sockets.on作为第二个参数的回调函数应该采用一个参数:套接字.你没有,所以第二行的套接字socket.on是未定义的.

并且回调for socket.on没有给出任何参数,因此该socket函数中的函数也是未定义的.

如果将socket参数从第二个函数声明移动到第一个函数声明,代码应该可以工作:

io.sockets.on('connection', function (socket) {
    socket.on('disconnect', function () {
        console.log(socket.id);
    });
});
Run Code Online (Sandbox Code Playgroud)