【发布时间】:2014-02-14 17:00:19
【问题描述】:
我实际上遇到了使用 node.js 执行的 javascript 代码的问题 我需要循环发送 http 请求到远程服务器(我在代码中设置 www.google.ca)。 这是我的代码:
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 设置为主机时,它工作正常。 有没有人可以解决这个问题? 提前致谢 !
【问题讨论】:
-
远程服务器正在限制并行请求的数量。尝试按顺序发送这些请求。
标签: javascript node.js