Wes*_*ble 12 sockets http node.js
OS X 10.8.3
节点0.10.0
我正在使用'http'模块来请求Facebook图形API.
以下是我传递给'http.get'的选项:
var options = {host: 'graph.facebook.com',
               port: 80,
               path: '/' + fb_id + '/picture'};  //fb_id is a Facebook user identifier
我的代码看起来像这样:
http.get(options,
  function(res) {
    ...some stuff...
    DONE(RESULT);  //DONE is a callback function
  }).on('error', function(e) {
       ...some error handling...
});
我观察到的是我只能执行与http.globalAgent.maxSockets值相同的请求.一旦我达到那么多请求,下一次调用http.get永远(显然)连接.我已经确认我没有收到错误的请求.
好像响应进来后套接字没有被关闭.
作为响应处理程序的一部分,我需要做些什么才能确保套接字关闭?
由于默认的keepalive行为,这些套接字是否未关闭?
我该如何进行调试呢?
尝试agent: false在选项中进行设置.默认行为确实是为了保持HTTP保持连接的连接:
var options = {host: 'graph.facebook.com',
               port: 80,
               path: '/' + fb_id + '/picture',
               agent: false};
| 归档时间: | 
 | 
| 查看次数: | 6060 次 | 
| 最近记录: |