客户端是否可以知道Node.js服务器已断开连接

时间:2015-02-03 12:10:49

标签: javascript node.js socket.io

环境

服务器:Node.js
客户端:浏览器
通信:Socket.io

当客户端断开连接时,我已经处理服务器端。但我想知道,是否可以在客户端处理服务器断开连接

换句话说,

假设服务器进入异常状态并关闭,客户端怎么知道这发生了?我可以使用相同的代码

socket.on('disconnect', function() {...});

在客户端?

感谢帮助。


尝试过的事情

检查是否通过

通知客户
socket.on('disconnect', function() {...});

我在服务器中抛出以下异常:

setTimeout(function () {  
      console.log('Throwing error now.');
      throw new Error('User generated fault.');
    }, 9000);

在客户我有:

socket.on('disconnect',function(data){ console.log('Server disconnected you'); } );

但是客户端中的日志消息永远不会发生。 ¿?

2 个答案:

答案 0 :(得分:0)

来自socket.io client文档:

  

活动

     
      
  • connect。连接时被解雇。
  •   
  • disconnect。在断开连接时被解雇。
  •   

所以,是的,客户端以与服务器相同的方式工作。

答案 1 :(得分:0)

检查其他socket.io客户端事件。 https://github.com/Automattic/socket.io/wiki/exposed-events
试着听#reconnect_failed'或者'错误'而不是'断开'。