即使我拔掉了电源线,netstat 仍报告连接已建立

即使我拔掉了电源线,netstat 仍报告连接已建立

我正在实验如何丢失我的 java 应用程序和 mysql 服务器之间的连接。

应用程序和服务器位于两台不同的机器上,我正在拉动两者之间的物理线。

我正在运行netstat -plunta以找出连接的状态,这里是奇怪的部分。我可以看到在拔掉电源线后很长一段时间内,连接都处于 ESTABLISHED 状态。至少几个小时。应该是这样吗?当没有数据包可以通过时,连接何时会终止?

两台机器都运行 Linux/Ubuntu。一台是 10.04,另一台是 11.04。

答案1

好吧,正如我之前回答你的问题时所说的那样,灵魂的关键词是“活着“。TCP 连接实际上可以永远处于空闲状态(没有数据流动)。有时它有用,有时没用。因此,有两种方法:应用程序定期实现一些探测流量或使用 TCP 的“扩展”保持活动(TCP_KEEPALIVE)。

相关内容