【发布时间】:2020-04-01 05:05:31
【问题描述】:
我有一个带有 socket.io 的 NodeJS 服务器,并设置它来监听 disconnect 事件:
io.on('connection', function(socket) {
console.log(socket.handshake); // this works
console.log(socket.handshake.cookie);
socket.on('disconnect', function(socket) {
console.log(socket.handshake); // this does not
console.log(socket.handshake.cookie);
});
});
在这种情况下,'disconnect' 事件 socket.handshake 返回未定义,因此导致 TypeError: Cannot read property... 等。connection 事件按预期记录所有内容。这是因为没有在断开连接时传递标头,如果是这样, 传递了什么信息?
本质上,我的问题是:
-
'disconnect'事件中的第二对socket.handshake怎么会返回undefined? - 如果这是由
disconnect事件socket发送不同的数据引起的, 发送了什么数据? - 有没有办法从
'disconnect'事件中获取cookie?
谢谢!
【问题讨论】:
标签: javascript node.js sockets socket.io