最初的http.request只能連接到一臺主機。有其他方式或其他方法可以指定多個主機來創建一個http遠程請求客戶端嗎?http.request可以連接到多個主機(node.js)嗎?
背後的原因是,我連接的遠程服務有三個冗餘主機,如果其中一個出現故障,其他人將繼續工作。所以,我正在尋找一種方法來使http.request或任何請求客戶端指定多個主機,並連接到正在工作的那個。如果第一個失敗,則切換到列表中的另一個主機。
最初的http.request只能連接到一臺主機。有其他方式或其他方法可以指定多個主機來創建一個http遠程請求客戶端嗎?http.request可以連接到多個主機(node.js)嗎?
背後的原因是,我連接的遠程服務有三個冗餘主機,如果其中一個出現故障,其他人將繼續工作。所以,我正在尋找一種方法來使http.request或任何請求客戶端指定多個主機,並連接到正在工作的那個。如果第一個失敗,則切換到列表中的另一個主機。
你可以只讓一個又一個,直到一些工作:
var hosts = ["first.com", "second.com", "third.com"];
(function loop(i) {
var host = hosts[i],
options = {
host: host,
port: 80,
method: 'GET'
};
if (host) {
var req = http.request(options, function(res) {
if (res.statusCode !== 200) {
loop(++i)
} else {
console.log("request succeeded");
}
});
req.on("error", function() {
loop(++i);
});
req.end();
} else {
console.log("ran out of hosts to try");
}
})(0);
:)似乎我必須做我自己的代碼。 :) – murvinlai 2012-08-01 23:24:54