OS X 10.8.3
Node 0.10.0
Я использую модуль "http" для запросов API графиков Facebook.
Вот параметры, которые я передаю в '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 по умолчанию?
Как мне отладить это?