当这个错误来临时如何解决这个错误

时间:2011-06-16 06:43:38

标签: mysql node.js redis socket.io

我正在开发node.js socke.io redis mysql中的一个应用程序,所以这个错误已经过了一段时间,不知道它何时到达以及如何找到这个错误来的地方,如何解决这个错误。

node.js:178
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: ETIMEDOUT, Connection timed out
    at Socket._onConnect (net.js:600:18)
    at IOWatcher.onWritable [as callback] (net.js:186:12)**strong text**

2 个答案:

答案 0 :(得分:2)

我相信我在stackoverflow或某个地方读过某个地方,socket.io还不能与0.5.0-pre完全兼容。您可以尝试使用最新的官方版本v0.4.8并报告回来吗?


这是正确的:)。我在stackoverflow.com上阅读了它,并找到了它的链接:node v0.5.0 pre Socket.IO crashes on connection (independent of transport)

答案 1 :(得分:0)

这是由发出“错误”事件的套接字错误引起的,但没有找到“错误”事件的任何侦听器。在这种情况下,节点将事件转换为异常。

因此,检查的简单方法是确保您正在侦听所有连接上的错误。

现在有一个棘手的错误,一些套接字在用户代码可以监听错误之前或之后发出错误。在做HTTPS时我看到了很多。如果您遇到这种无法捕获的错误情况,除了更改节点以将这些套接字错误转换为异常之外,您无法做到这一点。如果你能想出一个可靠的方法来重现这个问题,它将会更快地得到修复。