socket.id断开客户端?

时间:2011-11-27 15:37:22

标签: node.js socket.io

是否可以获取已断开连接的客户端的socket.id?以下代码为undefined

提供了socket.id

Node.js代码

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

1 个答案:

答案 0 :(得分:41)

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

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

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

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