首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >disconnect事件:区分有意还是超时

disconnect事件:区分有意还是超时
EN

Stack Overflow用户
提问于 2014-02-19 23:53:01
回答 2查看 139关注 0票数 2

无论断开是由于超时,还是由于用户离开页面和客户端故意发送断开事件,服务器端的disconnect事件似乎都会触发。有没有办法区分这两者?

EN

回答 2

Stack Overflow用户

发布于 2014-02-20 00:10:03

我现在如履薄冰,但你应该能找到断线的原因。

这就是source正在做的事情:

代码语言:javascript
复制
socket.emit('disconnect', packet.reason || 'packet');

因此,请检查是否存在断开连接的原因。

票数 1
EN

Stack Overflow用户

发布于 2015-03-23 04:18:12

奇怪的是,这些都没有文档记录,但你可以通过试验和错误来找出它们。例如,我在断开客户端连接时得到“强制关闭”,在停止服务器时得到“传输关闭”。不过,超时可能是另一回事。

代码语言:javascript
复制
socket.on('disconnect', function(reason) {
  if (reason === 'forced close') {
    console.log('socket was disconnected by client');
  }
  if (reason === 'transport close') {
    console.log('socket was disconnected by server');
  }
  else {
    console.log('socket was disconnected for reason: ' + reason);
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21885594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档