如何在服务器断开连接时将客户端切换到第二台服务器

时间:2014-04-22 22:17:45

标签: java sockets rmi

我正在创建客户端/服务器聊天,并尝试创建冗余服务器。

当主服务器发生故障时,客户端会切换到第二台服务器。

在客户端,我有一个连接方法,我在其中启动套接字,输入流和输出流。我想反复使用RMI进行远程对象调用,每次无法访问此对象时都会抛出异常。

我正在努力实现这个技巧并让它发挥作用。事情不仅是当客户端首先连接以检查远程对象时,而且当连接套接字并且通过流之间存在数据时,应该检查对象。

如果您有任何线索,请不要犹豫。谢谢。

1 个答案:

答案 0 :(得分:1)

如果远程方法调用的目标已关闭,您将获得某种类型的RemoteException:

  • 一个ConnectException,如果还没有要重用的池连接,或者

  • MarshallException或UnmarshallException,具体取决于检测到中断的阶段。

此时您需要查找其他注册表并使用所获得的其他存根重试。

你不需要任何套接字。