如何检测socket.io服务器是否已连接?

时间:2013-04-22 17:27:20

标签: node.js socket.io

我正在使用socket.io和appjs开发一个应用程序。当他通过启动应用程序的两个实例导致EADDRINUSE时,我无法向用户发出通知,这是他不应该的。

Socket.io确实检测到EADDRINUSE,但我只收到写入控制台的警告(不确定是否为stdout或stderr)。我想要一个异常,一个回调,我有一个错误的参数,或者至少是一个标志来检测连接是否正常。

只是为了澄清,我试图从服务器端做到这一点。在客户端,我已经有一个客户端 - 服务器连接超时。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

EADDRINUSE是网络模块发出的错误。文档:http://nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

简而言之,您需要提供一个回复.on('error'来处理错误。

server.on('error', function (e) {
  if (e.code == 'EADDRINUSE') {
    console.log('Address in use');
  }
});