java如何将代理从不同平台注册到位于JADE中远程的不同平台?
我有两台运行代理的电脑。两者都通过局域网(或wifi)连接。我想让这些特工沟通。我找到的一种方法是提供代理的完整地址。下面是代码片段
AID a = new AID("A@192.168.14.51:1099/JADE",AID.ISGUID);
a.addAddresses("http://192.168.14.51:7778/acc");
msg.addReceiver(a);
send(msg);
但是,一旦我在一个平台上启动代理,我希望其他平台上的代理能够在其黄页上注册服务,以便我可以从相同的服务列表中搜索合适的代理。我找了一下,但什么也找不到。请给我建议,我如何才能做到这一点
# 1 楼答案
嗯,你在找DF联盟。据我所知,这只是“连接”DFs。 “jade all examples”文件夹中的yelloPages包中有一个示例。它创建寄存器、订阅者、搜索者和subDF代理。注册代理使用soe属性注册代理,其他代理执行其工作。SubDF创建涉及
DF Federation
的子DF。对于您,我将代码修改为:接下来的三个代理在端口1099上运行,如下所示:
(一)
(二)
(三)
4)这是最后一个。它创建DF并在DFRegister代理中注册,即完成DF联合。我在1331端口上运行了这个。请记住更改IP地址。(u可以使用
-local-port 1331
在不同的端口上运行代理。 记住在此之前运行以前的代理 您可以将它放在不同的eclipse项目中并运行它运行代码后,您可以看到,subDF代理能够找到在其联邦DF上注册的代理
您也可以在这里下载完整的代码:http://tinyurl.com/Agent-on-different-platforms