JXTA P2P编程技术例程二

JXTA P2P编程技术例程二

ID:47037153

大小:49.00 KB

页数:7页

时间:2019-07-03

JXTA P2P编程技术例程二_第1页
JXTA P2P编程技术例程二_第2页
JXTA P2P编程技术例程二_第3页
JXTA P2P编程技术例程二_第4页
JXTA P2P编程技术例程二_第5页
资源描述:

《JXTA P2P编程技术例程二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JXTA,P2P编程技术例程(2)作者:yxiong2000

2、日期:2004-07-30

3、字体:大中小创建与发布通告就如我们早先说的那样,JXTA虚拟网络依靠JXTAID去鉴别网络资源。而这些资源的发现是通过通告。net.jxta.id包包含了ID类,同事包含了创建各种ID的工厂(factory)。在JXTA中,net.jxta.document.Document是一个数据通用容器。一个在JXTA中的文档被MIME媒体类型的内容所定义。这样,文档就类似于HTTP流(stream。JXTA并不尝试去解释文档的内容:这个内容是一个应用层协议的一部分)。一个通告是由一个类似于X

4、ML结构化文档的可嵌套的多层元素组成的StructuredDocument,它可以使一个文档在它的数据没有物理表示(physicalrepresentation)的时候被操作。就如和其他任何StructureDocument一样,一个通告可以被XML或者简单文本格式表所表示。一个通告包括它所要通告的资源的ID,通告的类型,以及过期的时间绝对值。JXTAAPI提供一个方便的工厂,AdvertisementFactory,来创建各种通告类型。Listing16.3说明了一个ModuleClassAdvertisement通过这个工厂的创建。注意ModuleClassID被加入

5、到通告中的方式)Listing16.3CreatingandAdvertisingaModuleClassprivatevoiddoAdvertise(){ModuleClassAdvertisementclassAd=(ModuleClassAdvertisement)AdvertisementFactory.newAdvertisement(ModuleClassAdvertisement.getAdvertisementType());ModuleClassIDclassID=IDFactory.newModuleClassID();classAd.setModul

6、eClassID(classID);classAd.setName(ServiceConstants.CLASS_NAME);classAd.setDescription("Aprimenumbercrunchingservice.");try{discoSvc.publish(classAd,DiscoveryService.ADV);discoSvc.remotePublish(classAd,DiscoveryService.ADV);System.out.println("Publishedmoduleclassadv.");}catch(IOExceptione

7、){System.out.println("Troublepublishingmoduleclassadv:"+e.getMessage());}JXTAnet.jxta.discovery.DiscoveryService是一个NetPeerGroup提供的组服务(groupservice)。它提供发布发现本科与远程2种模式。本地模式在Peer本地的缓冲中去发现通告,本地发布就是让通告放入本地的缓冲中。远程就是在整个peer组中去发现与发布。因此,请求消息通过JXTA虚拟网络在我们早先描述的协议的情况下进行传播,在它们到底的时候就对这些请求的进行回应。因此,远程发现是一

8、个异步的过程,找到在网络上所要的通告类型也需要一定时间。Listing16.3说明ModuleClassAdvertisement的远程与本地2种发布方式。类型前面的过程,我们通过IDFactory类创建一个ModuleSpecID,并从AdvertisementFactory获得与它相应的通告。(见listing16.4)Listing16.4CreatingaNewModuleSpecAdvertisementModuleSpecAdvertisementspecAd=(ModuleSpecAdvertisement)AdvertisementFactory.newA

9、dvertisement(ModuleSpecAdvertisement.getAdvertisementType());ModuleSpecIDspecID=IDFactory.newModuleSpecID(classID);specAd.setModuleSpecID(specID);specAd.setName(ServiceConstants.SPEC_NAME);specAd.setDescription("Specificationforaprimenumbercrunchingservice");specAd.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。