在Node.js中编写ECONNRESET错误和套接字连接检查

5

我在运行node.js脚本时偶尔会遇到这个错误。

events.js:66
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: write ECONNRESET
    at errnoException (net.js:768:11)
    at Object.afterWrite (net.js:592:19)

什么导致了这个错误?我读到某个地方说,这是由于尝试向关闭的套接字写入数据引起的。是这样吗?

如果是这样,如何检查套接字连接是否活动? 我在这里发现了这个SO问题(链接),但没有人回答。

第三,在socket.write语句周围加上简单的try catch足以处理这个错误吗? 还是它会发出错误事件,我必须进行处理?


检查是完全没有意义的。即使在您检查时它是正常的,当您尝试写入时仍然可能失败。 - David Schwartz
哦..最后一个问题呢?只用try..catch处理可以吗? - SatheeshJM
我认为是这样,但我对node.js不是很熟悉,所以我没有回答。 - David Schwartz
当我的服务器尝试写入已关闭的套接字连接时,我遇到了相同的错误。而且try/catch无法捕获异常。(我正在使用node v0.10.8) - FR6
+1 我也遇到了同样的问题。你有解决办法吗? - Samson
2
我刚刚使用了 process.on 来处理未经处理的异常。`process.on('uncaughtException', function(e) { console.log(e.stack); });` - SatheeshJM
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接