gpt4 book ai didi

没有 RMI 注册表的 Java RMI

转载 作者:行者123 更新时间:2023-11-30 07:32:43 24 4
gpt4 key购买 nike

我是 java RMI 的新手,我正在尝试创建一个类似 Peer 2 Peer 的 bit torrent 应用程序,其中同一对等点的多个实例可能位于同一台机器上。这意味着我需要能够在同一台机器上注册多个相同类型的远程对象。 RMI 注册表似乎只允许我在任何机器上实现一个远程对象,因为注册表无法区分它应该返回对哪些对象的引用。有没有办法绕过注册表,例如通过指定一个 IP 和端口,我知道另一个对等方正在公开其远程对象?如果没有,您是否知道如何在同一台机器上创建同一对象的多个实例?对此的任何帮助将不胜感激...

最佳答案

您可以在不同的端口上启动多个 rmi 注册表,或者更好地多次绑定(bind)不同名称下的对象实例。但最好的方法可能是在代码中执行逻辑并在每次需要时返回一个新的远程对象。例如。取决于参数:

public MyRemoteObject connect(String name) throws java.rmi.RemoteException {
if("first".equals(name)){
return firstinstance;
}else if("new".equals(name)){
return new MyRemoteObject();
}
...
}

或者类似这样的...

关于没有 RMI 注册表的 Java RMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com