Java多客户端服务器套接字。管道破损检测

时间:2013-05-29 01:58:37

标签: java sockets

我正在创建一个拥有许多客户端的服务器解决方案。使用arraylist存储用户信息和套接字。广播消息......

在客户端,

当服务器关闭时,将抛出异常并且我可以捕获异常并执行 相应的行动。

但在服务器端,

当客户端脱机时,服务器不会抛出异常。有没有办法实现。

我现在正在这样做,每隔10秒发送一次看板消息,看看连接是否健康。而不是缩短健康检查委员会messgae之间的间隔。如果有任何方法可以这样做,例如setListener?

1 个答案:

答案 0 :(得分:1)

在Java中有很多这种类型的连接解决方​​案(比如Apache Mina),但是除非客户端发送消息通知服务器它将要断开连接,否则没有其他方法可以告诉除非服务器和客户端之间的心跳失败,听起来就像你实现的那样。您可以看到使用Listener作为故障安全解决方案的问题,因为如果客户端失败,它将永远不会让服务器知道,您将有一个孤立的会话。