java - Java中TCP连接过程中检测、预防和管理错误的方法有哪些?

标签 java networking tcp

嗯,我有 Java SE 服务器应用程序,它接受 ServerSocket 上的连接并创建线程来管理与客户端的连接。

协议(protocol)基本上如下:一个客户端发送请求,然后另一个客户端发送请求,然后服务器处理这两个请求并向两个客户端提供响应(不同的响应)。然后整个过程无限重复(直到服务器决定结束 session )。连接将保持 Activity 状态,直到 session 结束。

那么,检测丢失连接(服务器和客户端双方)并在必要时恢复连接的最佳方法(或任何方法)是什么?

最佳答案

使用某种心跳机制定期从一端向另一端发送一个小数据包,另一端应做出响应。如果您在一段时间后没有收到响应,请断开连接并将两端设置为在发生这种情况时尝试重新连接(或监听新连接)。

关于java - Java中TCP连接过程中检测、预防和管理错误的方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865640/

相关文章:

apache - 服务器外部连接被拒绝

c# - TCP 套接字上的 XML

java - 违反干净编码原则?

java - URLEncoder 中的 NullPointerException

linux - Linux 中的网络命名空间是什么?

java - Apache HttpClient : Location of redirected URLs

java - Java Web Start 是否可以配置为更新当前服务器版本而不是最新版本?

java - 从 java Grpc 服务器调试线程转储?

sql-server-2008 - 如何确定通信链路故障 TCP 提供程序 : The specified network name is no longer available? 的根本原因

networking - TCP 建立连接