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

我正在开发一个应用程序使用socket.io和appjs。 我无法通过启动应用程序的两个实例来通知用户EADDRINUSE,他不应该这样做。

Socket.io检测EADDRINUSE,但我只收到一个警告写入控制台(不知道如果标准输出或标准错误)。 我想要一个exception,我有一个err参数的callback,或者至less有一个标志来检测连接是否正常。

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

我怎样才能做到这一点?

EADDRINUSE是由networking模块发出的错误。 这里的文档: http : //nodejs.org/api/net.html#net_server_listen_port_host_backlog_callback

总之,你需要提供一个callback.on('error' ,将处理错误。

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