2015-11-19 37 views
1

我想知道在達到maxSockets時會發生什麼?node.js當達到maxSockets時會發生什麼?

如果我使用的服務允許我創建自定義http.Agent,並且指定maxSockets爲1.當我嘗試發出多個併發請求時會發生什麼?

將每個請求超出初始塊,直到初始完成?那麼套接字將變爲可用於下一個請求?和其他所有人阻止?我肯定會這樣認爲,但是無法專門在文檔中找到任何內容,並且對套接字編程來說是全新的。

回答

2

在使用maxSockets之後,額外的requests get queued直到一個活動的請求完成並且一個套接字被釋放使用,此時在新釋放的套接字上發送來自隊列的未決請求。

注意這在技術上排隊不會阻塞 - 在此過程中,CPU和事件循環繼續執行有用的工作。

另請注意,每個來源(「主機:端口」)(與瀏覽器類似)都有一個maxSockets和隊列。

另請注意,default maxSockets is Infinity

相關問題