socket.accept()からIOExceptionをキャッチし、acceptを実行しているスレッドをシャットダウンしているときにスタックしたトレースをダンプしないのはばかげていました...これを修正した後も、この呼び出しの状況に対処する方法を理解したいと思いますバーフ。
私のアプリは、数百、時には数千のクライアントを受け入れる古典的なソケットサーバーです。受け入れスレッドは常に稼働しており、accept()呼び出しでブロックされます。受け入れられると、別のスレッドが起動されて処理が実行されます。特にない。
問題は、accept()が失敗したときに何をすべきかということです。これはすぐに永続的な障害と見なされるべきですか?しばらくの間accept()に入るのを再試行して、通り抜けようとする必要がありますか?ベストプラクティスは何ですか?そして、IOExceptionがスローされる通常の理由は何ですか?