最近朋友们一直都是问为什么老是远程发现不了。估计都是以前书上的例子害的。我们看过这么多书,一定会发现,所有的例子都是本地发现的。而且只是写出了远程发现的语句,但是其实只是向我们显示如何远程发现,其实并没有说明远程发现的结果到底出现在那里,谁去接受远程发现的广告。
下面我们就用一个很简单的例子来说明一下,远程发现的结果到底出现在那里。在很多例子中我们经常看到这句语句dis.getRemoteAdvertisements(null
, DiscoveryService.GROUP, key,name, 1, null
);,而且会说明这个是远程发现广告。细心的朋友会去查看,有几个这种的方法,各个参数是什么类型。
结果我们就会发现最后1个参数null,其实是一个DiscoveryListener,结果终于出来啦。就是它,DiscoveryListener监听。下面给出一个简单的代码,并在代码中写明是如何发现的,得到结果的。
public class DiscoveryPeer implements DiscoveryListener {//第1步:首先我们要实现这个DiscoveryListener监听
private PeerGroup peerGroup = null;
private DiscoveryService dis = null;
public void launchJXTA(){
try {
peerGroup = new NetPeerGroupFactory().getInterface();
dis = peerGroup.getDiscoveryService();
} catch (PeerGroupException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//第2步:真正实现这个发现事件。得到发现的广告,重点就是这里,这里你会发现你指定发现的广告,然后得到你想要的广告。
public void discoveryEvent(DiscoveryEvent event) {
//mes里面就有我们所需要的广告内容,然后我们只要为远程发现广告,添加这个监听。结果就保存在DiscoverEvent
DiscoveryResponseMsg mes = event.getResponse();
}
//第3步:为需要远程发现监听的地方添加监听。
public void discoveryAdv(){
dis.getRemoteAdvertisements(null, DiscoveryService.ADV,
"Name", "张三", 5, this);//这里这个this,就是为本Peer添加该监听
}
//完成上面三步,利用远程发现广告就完全实现的了。只是一发现你需要的广告,就会触发discoveryEvent,然后利用event.getResponse()返回结果。
}
希望上面能让学习的同学理解。
分享到:
相关推荐
远程教学 P2P jxta java 远程教学 源代码 jxta远程教学p2p技术,一个很好的P2P例子
通过之前将近一个月对于JXTA技术的研究,终于大致了解了P2P网络JXTA技术的JAVA语言实现过程,特整理出来,以供大家交流讨论。其实,关于概念和该技术的介绍,也可以找到一些资料,在此我就不再介绍,我直接通过代码...
网上收集的JXTA P2P编程技术例程资料,做了下简单的整理。
JXTA Java P2P 网络编程技术
基于jxta的P2P框架的系统,主要功能有局域网聊天、文件共享系统、白板等。
3)广告以及发现资源(在JXTA网络中,资源包括了很多含义:peers,管道,groups等) 4)相互通信 5)检测对方 利用JXTA,可以容易实现以下几个方面的互操作p2p程序 1)相互发现peers,不管peers是在防火墙还是NATs...
基于jxta的P2P框架的系统,主要功能有局域网聊天、文件共享系统、白板等。
IEEE 论文 大家好好利用它学习p2p算法哦
jxta提供了你需要的技术来编写网络化的,互操作的P2P应用程序,可以容易地跨防火墙来动态发现网络上其它的对等成员,容易地跨网络和任何人共享文件,在你喜爱的站点发现每分钟更新的内容,创建一个对等成员组,成员...
首先,JXTA是为了构建P2P网络而制订的一组协议,是解决构建P2P网络必须要解决的问题的方法。 其次,JXTA是P2P应用程序开发的运行平台。目前,JXTA首先推出了基于Java的参考实现的。
jxta.jar p2p jxta.jar p2p jxta.jar p2p
JXTA 平台是 P2P 技术的进一步发展, 它给开发人员提供了一套统一的灵活的标准协议和类库。 使用 JXTA 平台, 开发人员可以从具体的 P2P 技术底层细节中解脱出来, 从而更加专注于应用程序的功能实现。
基于JXTA 的P2P 即时通讯系统的设计与改进 论文基于JXTA 的P2P 即时通讯系统的设计与改进 论文基于JXTA 的P2P 即时通讯系统的设计与改进 论文基于JXTA 的P2P 即时通讯系统的设计与改进 论文
jxta-java p2p网络编程技术
一种基于JXTA的协同工作P2P系统.caj
JXTA是美国sun公司在JAVA领域里推出的新技术,目的是为P2P(peer-to-peer)的网络应用开发提供一个统一的平台 而贝为了鼓励和支持该技术的发展,JxTA项目采用了开放源代码的方式进行.吸引了大量业界人士参与到JXTA...
毕业论文设计,题目是基于jxta的p2p即时通信系统设计,这只是论文
ppt答辩 基于JXTA的P2P通信 的研究与应用
本软件起源于我研究JAVA P2P-JXTA(一个开源的P2P项目,由当年的SUN技术牛人BillJoy发起,网址:jxta.dev.java.net), 所以这个项目以后也会在JXTA社区中发布,相信对JXTA在实际中应用,也会有比较大的参考意义。 ...