gpt4 book ai didi

node.js - 使用 Node.js http.get 时,套接字似乎没有关闭

转载 作者:IT老高 更新时间:2023-10-28 23:11:01 25 4
gpt4 key购买 nike

OS X 10.8.3

Node 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 的下一次调用就永远不会(显然)连接。我已经确认我没有收到请求错误。

就好像响应进来后套接字没有被关闭。

作为响应处理程序的一部分,我需要做些什么来确保套接字已关闭?

这些套接字是否因为默认的保活行为而没有关闭?

我应该如何进行调试?

最佳答案

尝试在选项中设置 agent: false。默认行为确实是为 HTTP keep-alive 保持连接打开:

var options = {host: 'graph.facebook.com',
port: 80,
path: '/' + fb_id + '/picture',
agent: false};

关于node.js - 使用 Node.js http.get 时,套接字似乎没有关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com