1.前言
最近,P2P(Peer-to-Peer)又成为了因特网上的一个热点。P2P是因特网的一种应用模式,其意思是指网络上的任何设备(包括大型机、PC机、PDA、手机、机顶盒等等)都可以平等地直接进行连接并进行协作。想比当前因特网上主流的应用模式Client/Server或者Client/Service而言,P2P具有自己鲜明的特点和优势。(这也是我对它着迷的地方。呵呵……)
有了P2P技术,因特网不需要一个大型的服务器,这对于有些行业(尤其是网络游戏)来说,是非常“幸运”的!因为P2P技术都很方便的实现你只化很少的money就可以达到你想要的效果。(是不是心动了?呵呵……)
一些常见的P2P应用程序:聊天程序,游戏(尤其网络游戏),文件共享,协同工作和白板。
当然,P2P网络也应具备的下列特点:
① 互操作性:P2P系统很容易的找到并连接对方,彼此进行交流。
② 平台无关性:P2P系统应该设计成独立于编程语言如C,Java等,独立于系统平台如Windows和Unix,独立于网络平台如TCP/IP和BLUETOOTH。
③ 广泛性:P2P系统可以运行在任何有数字处理功能的设备上。
2.JXTA是什么
首先,JXTA是为了构建P2P网络而制订的一组协议,是解决构建P2P网络必须要解决的问题的方法。共有六个协议(关于这些协议后面会详细的谈的)。
其次,JXTA是P2P应用程序开发的运行平台。目前,JXTA首先推出了基于Java的参考实现的。
它三层组成:如图1-1所示:
图1-1 JXTA的层次结构
第一层是JXTA核心层,它包含了服务所必需要的核心功能,包括Peer、对等组、Peer发现、Peer通信、Peer监视和相关的安全原语;第二层是服务层,它提供了访问JXTA协议的接口,包括对于P2P网络不是必需的,但很通用的功能,如查找、共享、索引、代码缓存和内容缓存的机制;第三层是应用层,它使用服务来访问JXTA网络和JXTA提供的功能,包括了应用JXTA服务开发出来得完整的P2P应用程序,如myJXTA,JXTA-CAD等应用程序。
下面简略的介绍一下JXTA的一些概念吧: