嗯,我有 Java SE 服务器应用程序,它接受 ServerSocket 上的连接并创建线程来管理与客户端的连接。
协议(protocol)基本上如下:一个客户端发送请求,然后另一个客户端发送请求,然后服务器处理这两个请求并向两个客户端提供响应(不同的响应)。然后整个过程无限重复(直到服务器决定结束 session )。连接将保持 Activity 状态,直到 session 结束。
那么,检测丢失连接(服务器和客户端双方)并在必要时恢复连接的最佳方法(或任何方法)是什么?
最佳答案
使用某种心跳机制定期从一端向另一端发送一个小数据包,另一端应做出响应。如果您在一段时间后没有收到响应,请断开连接并将两端设置为在发生这种情况时尝试重新连接(或监听新连接)。
关于java - Java中TCP连接过程中检测、预防和管理错误的方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865640/