最近朋友们一直都是问为什么老是远程发现不了。估计都是以前书上的例子害的。我们看过这么多书,一定会发现,所有的例子都是本地发现的。而且只是写出了远程发现的语句,但是其实只是向我们显示如何远程发现,其实并没有说明远程发现的结果到底出现在那里,谁去接受远程发现的广告。
下面我们就用一个很简单的例子来说明一下,远程发现的结果到底出现在那里。在很多例子中我们经常看到这句语句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(Java Xtreme Protocol)** 是Sun Microsystems公司推出的一种开放源代码的P2P(Peer-to...这四个文档将逐步展示JXTA的使用方法,帮助开发者从理论到实践,从而构建出能够高效利用网络资源、自主协作的P2P系统。
通过之前将近一个月对于JXTA技术的研究,终于大致了解了P2P网络JXTA技术的JAVA语言实现过程,特整理出来,以供大家交流讨论。其实,关于概念和该技术的介绍,也可以找到一些资料,在此我就不再介绍,我直接通过代码...
标题中的“fk.zip_jxta_局域网 jxta p2p”表明这是一个与JXTA(Java_EXTensible_Architecture)相关的P2P(Peer-to-Peer)技术在局域网应用的项目压缩包。JXTA是Sun Microsystems推出的一种开放标准,它允许设备之间...
4. **实现发现机制**:利用发现服务查找网络中的其他节点或所需的服务。 5. **建立管道**:创建管道实例,用于节点间的通信。 6. **处理事件**:编写事件监听器,响应节点的加入、离开、资源的发布和查找等事件。 ...
- **JXTA协议栈**:包括广告(Advertizing)、发现(Discovery)、管道(Pipes)、代理(Proxies)、服务(Services)等组件,它们为P2P应用提供了基础架构。 - **JXTA ID**:每个节点都有一个独特的标识,用于在...
总结来说,“HelloJxta.rar”是一个理想的入门级JXTA P2P编程示例,通过分析和实践其中的代码,开发者可以深入了解P2P网络的工作机制,以及如何利用JXTA构建实际的对等网络应用。同时,配合www.pudn.com.txt提供的...
5. **协议栈(Protocol Stack)**: JXTA的核心协议栈包括了身份管理、发布/发现、消息传递和网络层等子系统,这些子系统协同工作以实现P2P网络的功能。 根据提供的压缩包文件名称列表,我们可以推测文档可能涵盖了...
学习JXTA并利用其构建P2P文件共享系统,不仅可以提升文件传输效率,还能降低运营成本,同时增强网络的健壮性。通过深入理解JXTA的机制和特性,开发者可以创建出高效、可靠的P2P应用,满足各种网络环境下的文件共享...
- **案例研究**:通过具体的案例展示如何利用JXTA Shell来实现特定的P2P应用功能。 #### 五、总结 本书《JXTA: Java P2P Programming》不仅为读者提供了JXTA技术的基础知识,还通过丰富的示例和实践经验帮助开发者...
### jxta p2p ieee 论文 #### 摘要与背景 本文献讨论了基于交换的激励机制在对等(P2P)文件共享网络中的应用。作者Kostas G. Anagnostakis和Michael B. Greenwald来自宾夕法尼亚大学计算机与信息科学系,针对现有...
通过学习这个压缩包,开发者可以了解到如何使用JXTA API创建P2P应用,理解P2P网络的基本概念,如边缘节点、广告、管道和协议栈等。JXTA Shell的源代码能帮助开发者了解如何实现P2P网络的管理和控制,包括节点发现、...
2. **JXTA协议**:JXTA提供了P2P网络的基础框架,包括对等体的发现、连接、身份验证和安全通信等功能。通过JXTA,开发者可以轻松实现P2P应用的各个组件,如数据交换、服务发布和查找。 3. **对等组与管道**:在JXTA...
3. **广告(Advertisements)**:JXTA使用XML格式的广告来描述资源、服务或对等节点自身的信息,这些广告可以在网络中广播,使其他节点能够发现并使用它们。 4. **管道(Pipes)**:管道是JXTA中实现节点间通信的...
3)广告以及发现资源(在JXTA网络中,资源包括了很多含义:peers,管道,groups等) 4)相互通信 5)检测对方 利用JXTA,可以容易实现以下几个方面的互操作p2p程序 1)相互发现peers,不管peers是在防火墙还是NATs...
基于jxta的P2P框架的系统,主要功能有局域网聊天、文件共享系统、白板等。
JXTA提供了丰富的API和协议栈,支持P2P网络中的广告、发现、连接、交换和管理等功能。它定义了五种核心服务:边缘服务(Edge Service)、管道服务(Pipe Service)、发布/订阅服务(Publish/Subscribe Service)、...
无论是对于研究分布式计算的技术人员还是希望利用P2P技术进行创新的企业而言,JXTA都是一款值得深入了解和使用的工具。更多关于JXTA的详细信息,可以访问其官方网站http://www.jxta.org/进行深入学习。
总结起来,"基于jxta的P2P框架的系统"是一个充分利用JXTA框架,构建了局域网内聊天、文件共享和白板协作的全面应用。通过P2P技术,实现了无中心服务器、高效且分布式的网络交互,展现了P2P技术在现代网络应用中的...