我正在创建客户端/服务器聊天,并尝试创建冗余服务器。
当主服务器出现故障时,客户端会切换到第二服务器。
在客户端,我有一个连接方法,可以在其中启动套接字、输入流和输出流。我想使用 RMI 重复进行远程对象调用,每次无法访问该对象时都会抛出异常。
我正在努力如何实现这个技巧并使其发挥作用。问题不仅是当客户端首先连接以检查远程对象时,而且当套接字已连接并且有数据通过流之间传输时,也应该检查对象。
如果您有任何线索,请不要犹豫。谢谢。
最佳答案
如果远程方法调用的目标已关闭,您将收到某种 RemoteException:
如果还没有可供重用的池连接,则抛出 ConnectException,或者
MarshallException 或 UnmarshallException,具体取决于检测到中断的阶段。
此时,您需要查找其他注册表并使用由此获得的其他 stub 重试。
这一切都不需要套接字。
关于java - 服务器断开连接时如何在传输过程中将客户端切换到第二个服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23231257/