有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Windows XP SP3 TCP/IP没有可用的缓冲区空间

我需要使用Java创建1000个服务器socket。在创建600到700个socket之间,我遇到了以下错误:

05.04.2012 10:23:57 java.net.SocketException: No buffer space available (maximum connections reached?): listen at sun.nio.ch.ServerSocketChannelImpl.listen(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:127) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52) at channelserver.NIOAppServer.initSelector(NIOAppServer.java:40) at channelserver.NIOAppServer.(NIOAppServer.java:27) at channelserver.NIOServer.main(NIOServer.java:433) at channelserver.NIOServer.main(NIOServer.java:438)

之后,我的电脑重新启动。 我试图编辑注册表设置MaxUserPort=65534和MaxFreeTcbs=2000,但没有帮助。 我还能做什么? 在http://serverfault.com上,有人告诉我,它可能与JDBC有关,但我只连接到DB一次。我使用SQLite。 有什么建议吗


共 (1) 个答案

  1. # 1 楼答案

    以防万一有人也会面临这个问题
    最后,我觉得这只是WinXP的问题。我用更多的内存尝试了同样的代码——结果是一样的。但当我在Win7上试用时,即使有1200个插座,一切都很好
    所以,WinXP不适合这样的任务