在Java中TCP连接期间检测,防止和管理错误的方法是什么?

时间:2012-01-14 21:52:11

标签: java networking tcp

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

基本上协议如下:一个客户端发送请求,然后另一个客户端发送请求,然后服务器处理两个请求并给出两个客户端的响应(不同的响应)。然后整个过程无限期地重复(直到服务器决定结束会话)。连接一直保持到会话结束。

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

1 个答案:

答案 0 :(得分:2)

使用某种心跳机制周期性地将一个小数据包从一端发送到另一端,而另一端应该响应某些东西。如果您在一段时间后没有收到回复,请断开连接并将两端设置为尝试重新连接(或侦听新连接)。