Windows-Xp

Windows XP SP3 TCP/IP 沒有可用的緩衝區空間

  • April 11, 2012

我有與這裡完全相同的問題:Windows XP TCP/IP No buffer space available

在 Windows XP Pro、SP3 上,如果有人嘗試在循環中打開 TCP/IP 套接字(基本上,監聽埠 7000、監聽埠 7001 等)

在大約 649 個打開的套接字之後,將開始出現錯誤:沒有可用的緩衝區空間(達到最大連接數?)

我嘗試按照此處的描述編輯系統資料庫http://smallvoid.com/article/winnt-tcpip-max-limit.html我設置 MaxUserPort = 65534 和 MaxFreeTcbs = 2000,但沒有幫助。

我還可以做些什麼?我需要 1000 個伺服器套接字。

這是錯誤堆棧:

05.04.2012 10:23:57 java.net.SocketException:沒有可用的緩衝區空間(達到最大連接數?):在 sun.nio.ch.ServerSocketChannelImpl.bind 處監聽 sun.nio.ch.ServerSocketChannelImpl.listen(Native Method) (ServerSocketChannelImpl.java:127) 在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) 在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) 在 channelserver.NIOAppServer.initSelector(NIOAppServer. java:40) 在 channelserver.NIOAppServer.(NIOAppServer.java:27) 在 channelserver.NIOServer.main(NIOServer.java:433) 在 channelserver.NIOServer.main(NIOServer.java:438)

以防萬一有人也遇到這個問題。

最後,在我看來,這只是 WinXP 的問題。我用更多的 RAM 嘗試了相同的程式碼 - 結果是一樣的。但是當我在 Win7 上嘗試過時,即使有 1200 個套接字,一切正常。

所以,WinXP 就是不適合這樣的任務。

引用自:https://serverfault.com/questions/376893