Nodejs错误:getaddrinfo ENOTFOUND&EADDRINFO
我正在使用Request模块来获取HTML页面,它工作的很好,但一段时间后,我得到错误ENOTFOUND
和EADDRINFO
的一些请求。 在网上看了一下之后,我发现了一些类似的问题( #699 , #5488 , #697 ),而我的理解是,我可能不会消费一些(或全部)响应,套接字池的最大大小。
我不确定所有这些,但我正在考虑增加globalAgent.maxSockets
(100?),并始终在请求callback开始时调用response.resume()
来消费响应。 这有什么意义吗? 还是我的方式脱轨?
我查看了Node的代码,试图了解resume()
是什么,但我不确定是否find了正确的函数( #L698 )。
谢谢你的帮助。
每kanaka的build议我用我find的解决scheme回答我自己的问题:
我做了我所说的我会试着解决这个问题(不知道为什么)。 因此,在初始化服务器之前,我设置了http.globalAgent.maxSockets = 100
和https.globalAgent.maxSockets = 100
,每次使用请求模块时,我都会在callback中添加这个参数: if (response) { response.resume(); }
if (response) { response.resume(); }
也许这会帮助别人:)
- 使用Node.js http.get时,套接字不会显示为closures状态
- 通过自定义socket.io事件将Python客户端连接到Socket.io
- 通过套接字连接node.js和signalr
- Node.JS客户端应用程序模拟1000 / +客户端连接
- 如何通过离开页面来处理socket.io断开连接?
- Angular.JS中的Resource + Socket.io工厂
- 如何将用户名从php会话存储到nodejs中的socket.io库和套接字连接断开页面refresh.Why?
- WebSocket连接失败:在WebSocket握手期间出错:意外的响应代码:400
- 使用Express 4模块化Socket.io