0

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

在客户端,

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

但在服务器端,

当客户端离线时,服务器不会抛出异常。请问有什么方法可以实现。

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

4

1 回答 1

1

对于这种类型的连接在 java 中有很多解决方案(比如 Apache Mina),但是除非客户端发送消息通知服务器它即将断开连接,否则没有其他方法可以判断,除非两者之间的心跳服务器和客户端失败,听起来你已经实现了。您可以看到将侦听器用作故障安全解决方案的问题,因为如果客户端失败,它将永远不会让服务器知道并且您将拥有一个孤立的会话。

于 2013-05-29T03:55:47.853 回答