Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当服务器断开连接时,如何在传输过程中将客户端切换到第二台服务器_Java_Sockets_Rmi - Fatal编程技术网

Java 当服务器断开连接时,如何在传输过程中将客户端切换到第二台服务器

Java 当服务器断开连接时,如何在传输过程中将客户端切换到第二台服务器,java,sockets,rmi,Java,Sockets,Rmi,我正在创建一个客户端/服务器聊天,并尝试创建一个冗余服务器 当主服务器出现故障时,客户端将切换到第二台服务器 在客户端,我有一个连接方法,在这里我启动一个套接字、一个输入流和一个输出流。我想重复使用RMI进行远程对象调用,每次无法访问该对象时都会引发异常 我正在努力实现这一技巧并使其发挥作用。不仅当客户端首先连接以检查远程对象时,而且当套接字已连接且有数据通过应检查的对象的流进行传输时,都是如此 如果你有任何线索,请不要犹豫。谢谢。如果远程方法调用的目标关闭,您将得到某种类型的RemoteExc

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

当主服务器出现故障时,客户端将切换到第二台服务器

在客户端,我有一个连接方法,在这里我启动一个套接字、一个输入流和一个输出流。我想重复使用RMI进行远程对象调用,每次无法访问该对象时都会引发异常

我正在努力实现这一技巧并使其发挥作用。不仅当客户端首先连接以检查远程对象时,而且当套接字已连接且有数据通过应检查的对象的流进行传输时,都是如此


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

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

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

  • MarshallException或UnmarshallException,具体取决于检测到停机的阶段

此时,您需要查找另一个注册表,然后使用这样获得的另一个存根重试


这些都不需要套接字。

你能澄清你的问题吗?@AnubianNoob如何使用RMI检测服务器已关闭,从而将用户切换到第二台服务器。谢谢,您需要一些“ping”例程。@MingtaoZhang您能帮我在读写套接字时编写ping例程吗。非常感谢。