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

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

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

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

如果你担心开销……就这样经常做不到