簡體   English   中英

Windows XP SP3 TCP/IP 無可用緩沖空間

[英]Windows XP SP3 TCP/IP No buffer space available

我需要使用 Java 創建 1000 個服務器 sockets。在創建 600 和 700 sockets 之間的某處我收到此錯誤:

05.04.2012 10:23:57 java.net.SocketException:沒有可用的緩沖區空間(達到最大連接數?):在 sun.nio.ch.ServerSocketChannelImpl.listen(本機方法)上收聽 sun.nio.ch.ServerSocketChannelImpl.bind (ServerSocketChannelImpl.java:127)在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)在 sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)在 channelserver.Server.NIOAppServerN.initSelector java:40) 在 channelserver.NIOAppServer.(NIOAppServer.java:27) 在 channelserver.NIOServer.main(NIOServer.java:433) 在 channelserver.NIOServer.main(NIOServer.java:438)

之后我的電腦重新啟動。 我試圖編輯注冊表設置 MaxUserPort = 65534 和 MaxFreeTcbs = 2000,但沒有幫助。 我還可以做些什么? http://serverfault.com有人告訴我可能和JDBC有關,但我只連接了一次DB。 我使用 SQLite。有什么建議嗎?

在 Windows 上,XP 對半開連接有限制,要打破此規則,您需要修補 tcpip.sys 驅動程序(但它是非法的)或使用像 Windows Vista/7 這樣的現代操作系統,它們沒有這些限制。

以防萬一有人也會遇到這個問題。
最后在我看來,這只是 WinXP 的問題。 我用更多的 RAM 嘗試了相同的代碼 - 結果是一樣的。 但是當我在 Win7 上嘗試時,即使使用 1200 sockets 也一切正常。
所以,WinXP 不適合這樣的任務。

暫無
暫無

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

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