我正在使用socket.io和appjs开发一个应用程序。当他通过启动应用程序的两个实例导致EADDRINUSE时,我无法向用户发出通知,这是他不应该的。
Socket.io确实检测到EADDRINUSE,但我只收到写入控制台的警告(不确定是否为stdout或stderr)。我想要一个异常,一个回调,我有一个错误的参数,或者至少是一个标志来检测连接是否正常。
只是为了澄清,我试图从服务器端做到这一点。在客户端,我已经有一个客户端 - 服务器连接超时。
我该怎么做?
答案 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');
}
});