2

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

4

1 回答 1

3

所以似乎没有人回答这个问题......如果没有与之交互,你怎么知道某物是否已经死了?

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

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

于 2013-10-09T15:15:55.887 回答