我们正在使用Java RMI开发客户端 - 服务器应用程序,为了进行测试,我们将使用计算机作为客户端和服务器。因此客户端和服务器应用程序必须在同一台机器上调用rmiregistry,但它们显然是两个不同的JVM。我们怎么做?我们希望只需要为LocateRegistry提供不同的端口,但我们得到NotBoundException ... 什么是正确的方法?
答案 0 :(得分:1)
你可以随心所欲地跑,但为什么?你不需要。让服务器通过LocateRegistry.createRegistry()
启动自己的注册表,并让客户端查找该注册表。您似乎认为客户端需要自己的注册表,这是不正确的。
如果你明确地得到NotBoundException
,那么该服务在任何注册表中都没有绑定,或者你查找错误的服务。
答案 1 :(得分:0)
RMI Registry是一个维护服务注册表的服务器。
因此,您的服务器应连接到RMI注册表并在其中注册,而客户端应连接到RMI注册表并查找您的服务器
因此,您需要在计算机上运行单个 RMI注册表。
您似乎得到了NotBoundException,因为您有两个