简短的问题将默认超时值从 72 秒
缩短到 5 秒是否有任何危险或陷阱?
背景
我在 VB.NET 中有一个客户端应用程序,在 Python 中有一个服务器,它们都在 Windows 7 上运行并监视活动连接/在检测到损坏的套接字时自行关闭。当客户端或服务器关闭时,所有逻辑都将起作用。如果从 PC 上拔下物理网络电缆,问题就会出现。在此事件之后,我的 socket.send() 超时并退出之前需要整整 72 秒。由于客户端是一个 UI,您可以想象它在意识到连接已死之前等待一分钟是多么烦人。
编辑1) 客户端 UI在超时事件期间
未被阻止。故障模式是连接指示在 72 秒内显示“已连接”,即使没有发送消息。
2)我每秒从客户端和服务器发送一次心跳消息。使用这些消息速率,如果我关闭任何一个应用程序,我会在 5 秒内看到连接失败。当我拔下网络电缆时,这个时间就消失了。这就是为什么我现在很茫然...