我有一个客户端 - 服务器系统,双方都是由我编写的,我想在服务器断开/死机时将客户端置于“离线”状态,然后在服务器时自动将它们带回“在线”状态再次可用。
对于第一部分,我通过将客户端设置为脱机来侦听通道故障事件并处理它。然后我开始在服务器上调用“ping”服务(每30秒),如果它还活着,它就会返回一个bool。一旦它活着,客户端就会获得bool并重新上线。
这一切都有效,我遇到的问题是,当客户端调用ping服务并且服务器关闭时,没有响应(显然),最终,大约2分钟后我得到一个端点未找到异常。到这个时候,我已经尝试了3-4次ping,因此有3-4个异常酿造。
我的问题是,如何更优雅地处理ping服务?理想情况下,我想定期拨打一个服务,让我知道它是否在线,并立即让我知道它是否在线。
答案 0 :(得分:12)
这个怎么样:
这样,如果您处于“Ping模式”,您可以快速获得响应(或超时),并且可以快速检测到服务的可用性。