У меня на самом деле проблема с кодом javascript, выполняемым с node.js Мне нужно отправить http-запросы в цикле на удаленный сервер (я установил www.google.ca в коде). Вот мой код:Node.js отправляет http-запрос в цикле
var http = require('http');
var options = {
hostname: 'www.google.ca',
port: 80,
path: '/',
method: 'GET'
};
function sendRequest(options){
console.log('hello');
var start = new Date();
var req = http.request(options,function(res) {
console.log('Request took:', new Date() - start, 'ms');
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.end();
};
for(var i=0;i<10;i++){
sendRequest(options);
}
У меня есть проблема в том, что, независимо от того, сколько раз я иду через мой цикл, я получаю ответ на только 5 первых из них. Для остальных запросов вызывается функция sendRequest(), но я не получаю никаких ответов, ни сообщения об ошибке. И тогда программа завершается. Однако он отлично работает, когда я устанавливаю localhost как хост. У кого-нибудь есть решение этой проблемы? Спасибо заранее!
возможного дубликатом [Node.js http.get зависает после 5 запросов к удаленному сайту] (http://stackoverflow.com/questions/16965582/node-js- http-get-hangs-after-5-request-to-remote-site) – loganfsmyth
Удаленный сервер ограничивает количество параллельных запросов. Попробуйте отправить эти запросы последовательно. – umair