Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Socket.io Socket.handshake在断开连接时未定义_Javascript_Node.js_Sockets_Socket.io - Fatal编程技术网

Javascript Socket.io Socket.handshake在断开连接时未定义

Javascript Socket.io Socket.handshake在断开连接时未定义,javascript,node.js,sockets,socket.io,Javascript,Node.js,Sockets,Socket.io,我有一个带有socket.io的NodeJS服务器,并将其设置为侦听断开连接事件: io.on('connection',函数(socket){ console.log(socket.handshake);//这很有效 日志(socket.handshake.cookie); socket.on('disconnect',功能(socket){ console.log(socket.handshake);//这不是 日志(socket.handshake.cookie); }); }); 在这

我有一个带有socket.io的NodeJS服务器,并将其设置为侦听
断开连接
事件:

io.on('connection',函数(socket){
console.log(socket.handshake);//这很有效
日志(socket.handshake.cookie);
socket.on('disconnect',功能(socket){
console.log(socket.handshake);//这不是
日志(socket.handshake.cookie);
});
});
在这种情况下,
'disconnect'
事件
socket.handshake
返回undefined,因此导致
类型错误:无法读取属性…
等。
连接
事件按预期记录所有内容。这是因为断开连接时不传递头,如果是,传递什么信息

本质上,我的问题是:

  • 为什么第二对
    套接字.握手
    位于
    断开连接
    事件返回
    未定义的
  • 如果这是由于
    断开连接
    事件
    套接字
    发送不同的数据引起的,则会发送哪些数据
  • 有没有办法从
    'disconnect'
    事件中获取cookie

  • 谢谢

    尝试删除该行中的
    socket
    参数

       socket.on('disconnect', function(socket){
    
    哈哈,太棒了!我猜在
    'disconnect'
    事件中传递的新
    套接字
    不包含
    握手
    属性。但是第一个
    'connection'
    事件的原始版本确实如此!所以我可以用它来代替。非常感谢!