Nodejs错误:getaddrinfo ENOTFOUND& EADDRINFO

时间:2014-09-05 11:03:15

标签: node.js sockets request

我使用Request模块来获取html页面,但效果很好,但在一段时间后,我在某些请求上遇到错误ENOTFOUNDEADDRINFO。在网上浏览后,我发现了一些类似的问题(#699#5488#697),我从中理解的是,我可能不会消耗一些(或全部?)响应和在某些时候应用程序达到套接字池最大大小。

我对这一切并不十分确定,但我正在考虑增加globalAgent.maxSockets(至100?)并始终通过在{}开始时调用response.resume()来消费响应请求回调。这有什么意义吗?还是我离开赛道?

我已经查看了Node的代码,试图了解resume()做了什么,但我不确定我找到了正确的功能(#L698)。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Per kanaka的建议我用我发现的解决方案回答了我自己的问题:

我做了我说的我会尝试,这解决了问题(虽然不确定为什么)。因此,在初始化服务器之前,我设置http.globalAgent.maxSockets = 100https.globalAgent.maxSockets = 100,每次我使用请求模块时,我都会在回调中添加它:if (response) { response.resume(); }

也许这会帮助别人:)