javap2p:JXTA-JAVA P2P网络编程技术(入门篇)来源: 发布时间:星期三, 2008年12月17日 浏览:2次 评论:0
1.前言
最近P2P(Peer-to-Peer)又成为了因特网上个热点P2P是因特网种应用模式其意思是指网络上任何设备(包括大型机、PC机、PDA、手机、机顶盒等等)都可以平等地直接进行连接并进行协作想比当前因特网上主流应用模式Client/Server或者Client/Service而言P2P具有自己鲜明特点和优势(这也是我对它着迷地方呵呵……J) 有了P2P技术因特网不需要个大型服务器这对于有些行业(尤其是网络游戏)来说是非常“幸运”!P2P技术都很方便实现你只化很少money就可以达到你想要效果(是不是心动了?呵呵……J) 些常见P2P应用:聊天游戏(尤其网络游戏)文件共享协同工作和白板 当然P2P网络也应具备下列特点: ① 互操作性:P2P系统很容易找到并连接对方彼此进行交流 ② 平台无关性:P2P系统应该设计成独立于编程语言如CJava等独立于系统平台如Windows和UNIX独立于网络平台如TCP/IP和BLUETOOTH ③ 广泛性:P2P系统可以运行在任何有数字处理功能设备上 2.JXTA是什么 首先JXTA是为了构建P2P网络而制订组协议是解决构建P2P网络必须要解决问题思路方法共有 6个协议(有关这些协议后面会详细谈) 其次JXTA是P2P应用开发运行平台目前JXTA首先推出了基于Java参考实现 它 3层组成:如图1-1所示: 图1-1 JXTA层次结构 第层是JXTA核心层它包含了服务所必需要核心功能包括Peer、对等组、Peer发现、Peer通信、Peer监视和相关安全原语;第 2层是服务层它提供了访问JXTA协议接口包括对于P2P网络不是必需但很通用功能如查找、共享、索引、代码缓存Cache和内容缓存Cache机制;第 3层是应用层它使用服务来访问JXTA网络和JXTA提供功能包括了应用JXTA服务开发出来得完整P2P应用如myJXTAJXTA-CAD等应用 下面简略介绍下JXTA些概念吧: 3.JXTA些概念 Peer(对等机):个虚拟通信点个用户可以有多个Peer台计算机或设备上同样可以有多个Peer Peer Group(对等组):种组织Peer并且发布组内特定服务方式可被创建、加入、退出;在个组里可以更新个组成员关系 Pipe(管道):Peer的间虚拟通道可以透过防火墙障碍进行通信从而使得Peer在大多数网络情况下都可以通信 Advertisement(广告):个XML文档用来描述JXTA消息、Peer、对等组或者服务等它必须遵守编码、标签和内容标准用来交换JXTA网络上可以获得任何信息大多数JXTA广告编码是使用UTF-8 Message(消息):有两种方式来处理消息:①使用XML格式;②使用 2进制格式 Rendezvous Peer(集合点):个能够处理来自其他Peer请求Peer也可以将请求委托给其他集合点 Router Peer(路由Peer):个支持Peer端点协议Peer Gateway Peer(网关Peer):个作为通信中继Peer和Rendezvous Peer区别是它是用来在Peer间传递消息而Rendezvous Peer是用来传递请求 好了说了这么多东西连我都有点晕了J 呵呵……下面开始做个例子来熟悉下吧: 4.下载并安装JXTA 软件Software地址:http://www.jxta.org请下载最新稳定版本我下载是2003-12-15更新稳定版它提供了几种平台根据你操作系统选择你需要JXTA当然你也可以把它源代码都可以下载下来帮助你了解JXTA是如何工作不过要想编译这些代码你还得使用Apache Ant工具可以在http://www.apache.org下载还有个要注意是你还得安装JDK1.3.1或更高版本推荐JDK1.4版本 下面讲下配置: 第次运行JXTA时JXTA将自动显示配置工具在Basic tings页面里填上个你认为很酷名字表示你Peer Name点击OK下个界面输入安全用户名(Secure Username)和密码(Password)然后在Experienced Users _disibledevent="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当然你可以把上面命令写成.bat文件也是可以但也可以把上面包都加入到path环境变量中去如果你还是觉得有点麻烦话那就选择个编译器比如JCreator Pro 2.0(我只有2.0没用2.5 J)Configure —> Options —> JDK Profiles —> Edit在Classes页面里Add Package将lib目录下*.jar都添加到Classes里面中去也将jre\lib\目录下*.jar添加进去编译、运行都是OK!呵呵……入门就说到这里下篇将有关JXTA些应用 0
相关文章
读者评论
发表评论 |