簡體   English   中英

Winsock是否限制並發連接數?

[英]Does Winsock limit the number of concurrent connections?

我最近用C#(壓力測試儀)制作了一個程序,該程序創建了100,000個套接字的數組,並將每個套接字連接到指定的服務器。

每次測試時,該程序都會在16,334個套接字處停止。 最后連接的套接字是套接字16,334。 在關閉它們之前,它們一直保持連接狀態,但是仍然無法將超過16,334個套接字連接到同一服務器。

為什么會發生? 它是Winsock的局限性嗎?

如果是這樣,可以以某種方式繞過它嗎?

可以建立的出站連接數有限制,並且確切了解“停止於”的含義很可能有助於確定問題。 哪個API返回哪個錯誤代碼導致您“停止”?

限制通常與臨時端口的可用性(請參閱MaxUserPort )以及可用內存和/或非頁面緩沖的池有關(盡管后者在Vista或更高版本上很少會成為問題)。

您可以嘗試在進程“停止”時運行netstat,因為這將顯示還有多少其他進程也已建立連接並且正在使用臨時端口。

您也可以在這里查看一下 ,因為根據所運行的操作系統,某些信息可能對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM