web-dev-qa-db-ja.com

コードを抜いた後でも、netstatがESTABLISHED接続を報告します

Javaアプリケーションとmysqlサーバー間の接続が失われたことを実験しています。

アプリケーションとサーバーは2つの異なるマシン上にあり、2つの間で物理コードを引っ張っています。

私は実行していますnetstat -plunta接続の状態を確認するには、ここに奇妙な部分があります。コードを引っ張った後、非常に長い間ESTABLISHED状態の接続を見ることができます。少なくとも数時間。そうなのか?パケットが通過できない場合、接続はいつ終了しますか?

どちらのマシンもLinux/Ubuntuを実行しています。 1つは10.04で、もう1つは11.04です。

1

さて、あなたの質問に答える前の試みですでに言ったように、魂のキーワードは「 キープアライブ "」です。 TCP接続は文字通り永久にアイドル状態(データフローなし)になる可能性があります。便利な場合とそうでない場合があります。したがって、2つのアプローチ:アプリケーションは定期的にプローブトラフィックを実装するか、TCPの「拡張」キープアライブを使用します-生きている(TCP_KEEPALIVE)。

3
poige