如何尝试捕捉错误" getaddrinfo ENOTFOUND"?

时间:2014-05-22 09:38:52

标签: node.js websocket

我正在使用带有WebSocket的节点js" ws"连接到另一台服务器B.

但是,有时当服务器B无法访问时,主要是" getaddrinfo ENOTFOUND"问题将停止我的服务器,这是不被接受的,我应该使用try catch来处理这种情况并尝试稍后连接。

我应该把try catch放在哪里?它不会触发ws.onerror回调。

我发现了类似的情况 How to catch getaddrinfo ENOTFOUND

但我不知道如何将这种方法用于ws界面。

1 个答案:

答案 0 :(得分:2)

尝试如下:

您可以使用永不停止服务器A的域

 var domain = require('domain');

 var d = domain.create();

 d.on('error', function(er) {        
    setTimeout(function() { createConnection() }, 60000); //create connection after 1 minute
});

d.run(function() {
    createConnection()
});


var createConnection = function() {
    //Create Connection with server B
}