我们正在开发一个使用Java RMI的客户端-服务器应用程序,为了进行测试,我们将使用一台计算机作为客户端和服务器。因此,客户机和服务器应用程序都必须在同一台机器上调用rmiregistry,但它们显然是两个不同的JVM。我们如何做到这一点?我们希望只需要给LocateRegistry提供不同的端口,但我们得到了NotBoundException……正确的方法是什么?
发布于 2015-02-10 05:00:59
你可以想运行多少就运行多少,但是为什么?你不需要这么做。让服务器通过LocateRegistry.createRegistry()启动自己的注册表,并让客户端查找该注册表。您似乎认为客户端需要自己的注册表,这是不正确的。
如果你得到了一个明确的NotBoundException,要么服务根本没有在任何注册表中绑定,要么你查错了。
发布于 2015-02-10 00:16:34
RMI注册表是一个维护服务注册表的服务器。
因此,您的服务器应该连接到RMI注册表并在其中注册自己,而客户端应该连接到RMI注册表并查找您的服务器
因此,您需要在您的机器上运行单个RMI注册表。
看起来你得到了NotBoundException,因为你有两个
https://stackoverflow.com/questions/28414066
复制相似问题