0
我有發送http請求的標準代碼。使用http.globalAgent。如何處理在Node中發送多個http請求?
設置我maxSockets是2500
,然後當我在一次發送多個請求,我得到這個錯誤:
['{'code':'ECONNRESET'}']
但是,如果我派了位之後,將請求每個請求之間的超時,然後它的工作。
所以,問題是:
1)什麼ECONNRESET究竟意味着什麼?爲何發生這種錯誤?
2)如何即時發送多個請求而不會出現該錯誤?
原始代碼,以發送多個請求:
// I'm using Seq()
Seq().
seq(function() {
this(null, ['p1','p2','p3','p4','p5']);
})
.flatten(false)
.parEach(fuctnion(data) {
// send out request
sendRemoteRequest(data); // a function that uses http.request
})
.seq(function(data) {
console.log("done");
})
好的..所以它取決於遠程服務器,我無能爲力,對吧?但是,一般來說,處理多個http請求的最佳方法是什麼?因爲大多數服務器都有一定的限制,正如你所指出的。所以如果有很多要求,我應該一個接一個地完成嗎?還是有更好的策略? :) – murvinlai 2012-04-19 21:32:50
是的,它取決於遠程服務器(或防火牆/代理)。除了保持低於極限(一個接一個將是最安全的方法),你可以做的事情並不多。我會嘗試使用1-10個併發連接,如果失敗,可以降低它。 – stewe 2012-04-19 21:47:22
謝謝你的建議。 :) – murvinlai 2012-04-19 22:26:40