网站大量收购独家精品文档,联系QQ:2885784924

基于JXTA平台的P2P应用实例的设计与实现.docVIP

基于JXTA平台的P2P应用实例的设计与实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JXTA平台的P2P应用实例的设计与实现   摘要:SUN公司所推出的JXTA解决了P2P网络互不相连的弊端,其目的就是为了搭建一个与系统无关、与语言无关、可以应用在任何设备的P2P开发平台。该文设计并实现了一个基于JXTA平台的能够实现即时通信和文件共享功能的P2P应用程序。   关键词:P2P;JXTA;即使通信;文件共享   中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)13-3362-02      1 JXTA简介   JXTA是SUN公司所为了解决P2P网络互不相连的弊端而推出的,其目的就是为了搭建一个与系统无关、与语言无关、可以应用在任何设备的P2P开发平台。   JXTA由三层组成,如图1所示。第一层是JXTA核心层,它包含了服务所需要的核心功能;第二层是服务层,它提供了访问JXTA协议的接口;第三层是应用层,它使用服务来访问JXTA网络和JXTA提供的功能。这样的设计和一个标准的操作系统比较相似,标准的操作系统包括核心操作系统、服务和应用程序。   下面,我用一个实例来阐明如何在JXTA的平台开发出P2P应用程序,本程序要实现的功能是即时聊天和文件共享。      2 开发环境   本程序的开发工具是JBuilder 2005,JDK 1.4版本,JXTA包是JAVA实现的1.0版本。      3 系统实现   由于JXTA的Pipe的通信连接过程都是一样的,为了避免重复开发,我开发了一个P2PSocket包来进行节点之间的连接。   P2PSocket包中包含以下方法:   public boolean bind( ) Peer与InputPipe绑定,开始监听。   public void run( ) 负责定时发送与InputPipe绑定的消息。   public boolean connect( )Peer与OnputPipe绑定,建立通信连接。   public boolean send ( ) 通过OnputPipe发送消息。   public void setOutListener( )设定OnputPipe的监听器。   public void setInListener( )设定InputPipe的监听器。   private void newPeerGroup( ) 加入默认的组。   3.1 聊天信息的接收和发送   在这个程序中聊天消息产生和发送主要运用了newChatMessage()方法,   Public Message newChatMessage(String message,String outputPipe,StringinputPipe){   MessageImpl msg=new MessageImpl();   msg.setString(this.CHAT,message);   msg.setString(this.OP,outputPipe);   msg.setString(this.IP,inputPipe);   return msg; }   3.2 文件传输主要程序实现   3.2.1 捕获共享本地文件列表的请求后发送本地共享列表   public void doFileListRequest(MessageImpl mi){   System.out.println(捕获一个本地共享文件列表的请求!);   pps.send(bm.newFileMessage(this.listFile(),pps.getOutputPipeName();   pps.getInputPipeName(),bm.FILE_LIST,Temp));}   3.2.2 捕获包含文件列表的消息后,将共享的文件列表显示出来   public void doFileList(MessageImpl mi){   System.out.println(捕获一个共享文件的列表!);    MessageElementImpl mei=(MessageElementImpl)mi.getElement(BaseMessage.FILE_LIST);    this.displayFile(mei.getStream()); }   3.2.3 捕获下载共享文件的请求后,先分析出对方请求的文件名file_name,随后利用BaseMessage产生包含指定文件流的信息,并发送到对方   public void doFileDownloadRequest(MessageImpl mi){   System.out.println(捕获一个下载本地共享文件的请求

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档