如何处理ECONNRESET,通过对等方重置连接

时间:2010-11-03 14:43:47

标签: javascript node.js

我的很多node.js进程都因ECONNRESET错误而崩溃。这是我能看到的输出:

node.js:50
    throw e;
    ^
Error: ECONNRESET, Connection reset by peer
    at Client._readImpl (net:320:14)
    at IOWatcher.callback (net:470:24)
    at node.js:607:9

有谁知道如何处理这个问题?它不是一个非常有用的堆栈跟踪,所以我不知道它在哪里发生。我应该通过带有try / catch块的http来包装对远程源的任何和所有访问吗?或者有更好的方法吗?

一般情况下,我不关心这是否确实发生过,或者由于这个原因,某些任务没有完成。我所关心的是,这个过程应该耸耸肩,继续完成下一个任务。

1 个答案:

答案 0 :(得分:15)

您需要附加到套接字的错误事件。如果不这样做,则默认操作是在发生错误时抛出异常。

socket.on('error', function (exc) {
    sys.log("ignoring exception: " + exc);
});