我正在使用带有WebSocket的节点js" ws"连接到另一台服务器B.
但是,有时当服务器B无法访问时,主要是" getaddrinfo ENOTFOUND"问题将停止我的服务器,这是不被接受的,我应该使用try catch来处理这种情况并尝试稍后连接。
我应该把try catch放在哪里?它不会触发ws.onerror回调。
我发现了类似的情况 How to catch getaddrinfo ENOTFOUND
但我不知道如何将这种方法用于ws界面。
答案 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
}