私のJavaコードは複数のスレッドを使用し、各スレッドはServerSocketを実行して受け入れます。これらのスレッドは、Java ソケットを使用して相互に通信します。121 スレッドではすべて問題なく動作しますが、256 スレッドで同じコードを実行すると、次のエラーが発生します。
java.net.SocketException: No buffer space available (maximum connections reached?): listen failed
at java.net.PlainSocketImpl.socketListen(Native Method)
at java.net.PlainSocketImpl.listen(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
私はWindows XP SP3を使用しています。このような投稿がいくつかあります(こちら)が、この問題の解決策を投稿する人はいません。TCP 接続の制限を削除するための Windows パッチもインストールしましたが、問題は解決しませんでした。