套接字发送超时 - 更改是否安全?

时间:2012-07-25 13:20:09

标签: python windows vb.net sockets connection-timeout

简短问题
是否有任何危险或陷阱将default timeout values从72秒缩短到短至5秒?

背景
我在VB.NET中有一个客户端应用程序,在Python中有一个服务器,它们都运行在Windows 7上并监视活动连接/当检测到损坏的套接字时自行关闭。当客户端或服务器关闭时,所有逻辑都将起作用。如果从PC上移除物理网络电缆,则会出现问题。在此事件之后,我的socket.send()超时并退出前需要整整72秒。由于客户端是一个用户界面,你可以想象它会在意识到连接已经死亡之前等待一分钟是多么令人恼火。

修改
1)在超时事件期间,客户端UI未被阻止。故障模式是连接指示显示“已连接”72秒,即使没有消息被发送。

2)我每秒都会从客户端和服务器发送一个心跳消息。使用这些消息速率,如果我关闭任一应用程序,我会在5秒内看到连接失败。当我拔下网线时,此时间消失了。这就是为什么我现在不知所措......

1 个答案:

答案 0 :(得分:0)

如果您每秒发送一次心跳,并且没有收到心跳,比如五秒钟,您应该考虑连接丢失。这基本上只是一个用户界面问题 - 你有信息,你只是不报告它。