微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何创建一个“软”断开的 TCP 连接,就好像网络硬件已经悄悄地断开了流?

如何解决我如何创建一个“软”断开的 TCP 连接,就好像网络硬件已经悄悄地断开了流?

我有一个 Java 程序,它打开一个 TCP 流并连接到远程服务器上的侦听端口。我向服务器发送请求并收到响应。然后我让流闲置 60 分钟。那时,如果我写一个新请求,它将不会到达服务器。很快,TCP/IP 会让我知道连接已经消失。

我的客户端代码在通过 VPN 路由器连接到公司环境的 Windows 笔记本电脑上运行。服务器在加拿大呼啸而过,在美国马萨诸塞州中部离我很远。我可能会通过多个网络设备进行路由。我不知道是哪一个导致流中断。 (我一直在想捉鬼敢死队和“不要越过溪流!”)

当某台设备专门“忘记”空闲的 TCP 连接并导致其中断时,使用的最佳术语是什么?是半开半闭,还是就这么消失了?

我希望能够完全在我的家庭实验室中模拟这种超时场景,以便我可以执行更简单的测试——例如,我不必等待 60 分钟!什么是好的技术,我应该使用什么合适的设备来模拟这种“断开”?我家里有额外的开关,还有一个旧的(而且很火!)WRT 路由器,可以用一些喜欢的东西。

我不想启用 keepalive 来掩盖问题。 Keepalive 不会阻止所有可能的流断开连接情况,AFAIK。我想尽我最大的努力让问题发生并在问题发生时快速干净地处理它。

非常感谢, 比尔·S

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。