Delphi XE 7 Indy IRC检测连接丢失

时间:2014-09-27 11:02:41

标签: delphi tcp indy delphi-xe7

所有工作都很好但有时连续几个小时后连接可能会丢失。我怎么能检测到聊天不再起作用了?我应该使用PING / PONG事件来检测吗?这种情况非常罕见,但仍然可能发生。谢谢你的建议。

1 个答案:

答案 0 :(得分:3)

是的,应该使用IRC PING和PONG命令来提高连接稳定性。


服务器和客户端可以发送“空”(无操作,心跳)消息以保持连接活动。如果一方不再收到这些消息,则可以认为该连接丢失。然后,如果服务器检测到无响应的客户端,则可以简单地关闭连接。客户端可能会显示错误消息并提供用户再次连接,或自动重新连接。

单独添加no-op(心跳)消息将有助于保持连接稳定,因为一些网络组件可能会选择在长时间不活动后终止连接。