1

Java でクライアント サーバー アプリケーションを実装しましたが、問題なく動作します。アクティブな接続を確認するためにシェルで実行するnetstat -aと、次の形式の孤立した接続がたくさんあることがわかります

TCP 127.0.0.1:54725 Sin-Host:0 LISTENING

たとえば、次のようにポート 58185 にサーバーを作成するとします。

TCP 127.0.0.1:58185 Sin-Host:0 LISTENING

クライアントがそれに接続すると、次のような2つの接続が得られます

TCP 127.0.0.1:58185 Sin-Host:0 LISTENING
TCP 127.0.0.1:58185 Sin-Host:58187 ESTABLISHED
TCP 127.0.0.1:58187 Sin-Host:58185 ESTABLISHED

クライアントとサーバーの両方を閉じると、最初の接続が残ります(つまり、LISTENING状態ではありませんTIMED_WAIT

クライアントとサーバーの両方を閉じたときに最初の接続が残る理由はないと思います。これはバグですか?それは私のプログラムに実際には影響しませんが、その影響を知るために知りたいだけです。

**EDIT : How long do these orphans last**

システムを再起動したところ、孤児はすべてなくなりました。テストを繰り返したところ、アプリケーションのシャットダウン後も孤児が残り、システムの再起動後にはなくなることがわかりました。

たぶん、これはそもそもそれがうまくいかないシステム設定だと思います.?

4

1 に答える 1