在Java RMI中,客户端如何知道其服务器已经死机?

时间:2013-10-09 13:57:19

标签: java rmi

目前,我正在开发一个基于Java RMI的聊天服务器客户端程序。为了让客户端检测到其连接的服务器已经死亡,我只能想到两种可能的解决方案,但在我的情况下它们都不能正常工作。
1。等到客户端需要调用服务器的某些方法,这种方式不能正常工作,因为如果聊天客户端没有调用任何服务器方法,它就不会知道服务器已经死了,因此聊天客户端无法接收任何新的那段时间的聊天消息了。
2。每隔几秒钟通过调用服务器的方法进行例行检查。但这会带来大量的开销。
这种情况有没有更好的方法?
非常感谢你。

1 个答案:

答案 0 :(得分:3)

所以似乎没有人回答这个问题......如果事情没有与之相互影响,你会怎么知道?

在IRC中,服务器将定期ping客户端以检查它们是否仍然连接...您将在客户端窗口中看到Ping! Pong!,有时客户端将尝试仅发送消息以发现它具有没有联系。

如果您担心开销......请不要经常这样做