com.sun.net.httpserver.HttpServerの実行中のインスタンスに接続すると、「接続が拒否されました」というメッセージが返されることがあります(ごくまれに)。
なぜこれが起こるのか誰か知っていますか?処理できる接続数にスレッド制限はありますか?増やすことはできますか?ありがとう。-r
com.sun.net.httpserver.HttpServerの実行中のインスタンスに接続すると、「接続が拒否されました」というメッセージが返されることがあります(ごくまれに)。
なぜこれが起こるのか誰か知っていますか?処理できる接続数にスレッド制限はありますか?増やすことはできますか?ありがとう。-r
ドキュメントから:
アドレスとポート番号にバインドする場合、アプリケーションは整数のバックログ パラメータを指定することもできます。これは、システムが内部的にキューに入れる着信 TCP 接続の最大数を表します。接続は、HttpServer によって受け入れられるのを待っている間、キューに入れられます。制限に達すると、基礎となる TCP 実装によってそれ以降の接続が拒否される (または無視される可能性がある) 場合があります。適切なバックログ値を設定することは、TCP レイヤーでのリソースの効率的な使用 (設定を高くしすぎないこと) と、着信要求の適切なスループットを許可すること (設定を低くしすぎないこと) との間の妥協点です。
あなたはこれを見ているかもしれません。
または、 setExecutor ()を使用してエグゼキュータを設定します。デフォルトのエグゼキューターには、必要な数よりも少ないスレッドが構成されている可能性があり、適切に構成されたThreadPoolExecutorが機能する場合があります。