好吧,我有Java SE服务器应用程序,它接受ServerSocket上的连接并创建用于管理与客户端连接的线程。
基本上协议如下:一个客户端发送请求,然后另一个客户端发送请求,然后服务器处理两个请求并给出两个客户端的响应(不同的响应)。然后整个过程无限期地重复(直到服务器决定结束会话)。连接一直保持到会话结束。
那么,检测丢失的连接(在两侧,服务器和客户端)并在必要时恢复它的最佳方法(或任何方法)是什么?
答案 0 :(得分:2)
使用某种心跳机制周期性地将一个小数据包从一端发送到另一端,而另一端应该响应某些东西。如果您在一段时间后没有收到回复,请断开连接并将两端设置为尝试重新连接(或侦听新连接)。