是否可以获取已断开连接的客户端的socket.id
?以下代码为undefined
socket.id
Node.js代码
io.sockets.on('connection', function() {
socket.on('disconnect', function(socket) {
console.log(socket.id);
});
});
答案 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);
});
});