JXTAP2P编程技术例程二.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JXTAP2P编程技术例程二

JXTA, P2P编程技术例程(2) 作者:yxiong2000 | 日期:2004-07-30 | 字体:大 中 小 创建与发布通告 就如我们早先说的那样,JXTA虚拟网络依靠JXTA ID 去鉴别网络资源。而这些资源的发现是通过通告。net.jxta.id包 包含了ID类, 同事包含了创建各种ID的工厂(factory)。 在JXTA中, net.jxta.document.Document是一个数据通用容器。一个在JXTA中的文档被MIME媒体类型的内容所定义。这样,文档就类似于HTTP流(stream。 JXTA并不尝试去解释文档的内容:这个内容是一个应用层协议的一部分)。 一个通告是由一个类似于XML结构化文档的可嵌套的多层元素组成的StructuredDocument,它可以使一个文档在它的数据没有物理表示(physical representation)的时候被操作。 就如和其他任何StructureDocument一样,一个通告可以被XML或者简单文本格式表所表示。一个通告包括它所要通告的资源的ID, 通告的类型, 以及过期的时间绝对值。 JXTA API提供一个方便的工厂, AdvertisementFactory ,来创建各种通告类型。 Listing 16.3 说明了一个ModuleClassAdvertisement通过这个工厂的创建。注意ModuleClassID被加入到通告中的方式) Listing 16.3 Creating and Advertising a Module Class private void doAdvertise() { ModuleClassAdvertisement classAd = (ModuleClassAdvertisement)AdvertisementFactory.newAdvertisement( ModuleClassAdvertisement.getAdvertisementType()); ModuleClassID classID = IDFactory.newModuleClassID(); classAd.setModuleClassID(classID); classAd.setName(ServiceConstants.CLASS_NAME); classAd.setDescription(A prime number crunching service.); try { discoSvc.publish(classAd, DiscoveryService.ADV); discoSvc.remotePublish(classAd, DiscoveryService.ADV); System.out.println(Published module class adv.); } catch (IOException e) { System.out.println(Trouble publishing module class adv: + e.getMessage()); } JXTA net.jxta.discovery.DiscoveryService是一个Net Peer Group 提供的组服务(group service)。 它提供发布发现本科与远程2种模式。本地模式在Peer本地的缓冲中去发现通告, 本地发布就是让通告放入本地的缓冲中。远程就是在整个peer组中去发现与发布。因此,请求消息通过JXTA虚拟网络在我们早先描述的协议的情况下进行传播,在它们到底的时候就对这些请求的进行回应。 因此,远程发现是一个异步的过程,找到在网络上所要的通告类型也需要一定时间。Listing16.3说明ModuleClassAdvertisement的远程与本地2种发布方式。 类型前面的过程,我们通过IDFactory类创建一个ModuleSpec ID, 并从AdvertisementFactory获得与它相应的通告。(见listing 16.4) Listing 16.4 Creating a New ModuleSpecAdvertisement ModuleSpecAdvertisement specAd = (ModuleSp

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档