Angular js在几次请求后停止工作

时间:2014-12-25 05:49:13

标签: angularjs node.js

我正在使用带有nodejs的Angular

我在每个窗口滚动上向服务器发送get请求

它适用于5个请求,但在5个请求后它停止工作。

我正在使用$http.get('url')

我现在保持网址相同。

如何保持超过5个请求?

1 个答案:

答案 0 :(得分:0)

原因是node.js使用" http代理"创建http连接。这个连接实现套接字连接池,每个主机+端口的默认限制数为5,http代理添加"连接:保持活动" param在调用请求时,则无法释放返回的连接,因此以下请求只能等待。

有三种方法可以解决这个问题

  1. 禁止HTTP代理,添加代理:调用get方法时为false。像

    var http = require(' http'); app.get(' /status.taobao' ;, function(req,res){ http.get({host:' 127.1',port:7001,agent:false,path:' /status.taobao'},function(res){     res.send(res.statusCode); })。on(' error',function(err){     logger.error(ERR);     res.send(404); }); });

  2. 设置http全局对象属性。

    http.globalAgent.maxSockets = 1000;

  3. 当reqeust返回

    时自动关闭连接

    http.get(options,function(res){ })。on(" socket",function(socket){ socket.emit(" agentRemove&#34); 我推荐第一个。