ユーザーを循環させて、リモートサーバーで各ユーザーのリクエストを実行しようとしています。多くのリクエストはECONNREFUSED
エラーで失敗します。リクエストを設定globalAgent.maxSockets
してずらしてみましたが、問題は解決しません。これはリモートサーバーからの応答ですか、それともノードアプリのエラーですか?どうすればこれを解決できますか?
ソース:
var https = require("https");
https.globalAgent.maxSockets = 1024;
var get = function(username, password, cb, failed) {
var post_data = 'username='+user+'&password='+password;
var post_req = https.request({
host:__HOST__,
port:443,
path:'/Controls/CredentialsUI.ashx',
method: "POST",
agent:false,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_data.length
}
}), function(r) {
// get cookie if received
if( r.headers["set-cookie"] )
cb(r.headers["set-cookie"][0].split(";")[0].split("=")[1])
else failed();
});
post_req.on('error', function(error) {
// Error handling here
console.log(error, "for "+username);
});
post_req.write(post_data);
post_req.end();
};
var success = function(){ /*...*/ };
var failure = function(){ /*...*/ };
var users = [/* array about 300 in size */];
users.map(function(user) {
get(user.name, user.password, success, failure);
});