基于JXTA的P2P即时通信软件的Java实现研究
2018-04-24王建
王建
摘 要:JXTA是Sun公司专为P2P应用程序所搭建的一个平台,该平台可通过Java实现。通过JXTA平台中的6大协议、3大层,运用Java编程语言,能够实现基于多个peer节点的P2P即时通信。其中即时通信模块是该软件的核心部分,利用JXTA平台提供的服务构建一个输入管道与输出管道,设计一个JXTASocket包,将peer接口方法整合到该软件包内,即可循环完成即时通信。文章基于JXTA平台,利用平台的JAVA绑定,设计了一款混合型的P2P即时通信软件,真正实现了P2P跨网络的即时通信。
关键词:JXTA;P2P;即时通信软件;Java实现
P2P是Peer-to-Peer,是一种对等网络工作模式,在此模式下,能够将服务器弱化或者完全取消,所有结点均是服务器与客户机的结合,是对等关系。P2P网络具有良好的扩展性,能够更好地利用网络边缘资源,避免发生单点故障,是当前互联网领域应用广泛的一种模式[1]。
1 JXTA平台
JXTA平台是一个专为P2P网络应用的开发所设计的平台,既能够为P2P网络的构建提供一组协议,又能够为P2P应用程序的开发提供一个平台,能够提供基于Java语言的应用程序编程接口(Application Programming Interface,API)。JXTA协议能够支持多种对等点之间的直接通信,无需经过中心服务器,即可相互发现并完成通信。其核心构件包括peer(对等点),如PC机、传感器或移动通信设备等能够实现JXTA协议的实体;peer group(对等组),目的相同的对等点集合形成的一个跨越不同物理网络的组;Service(服务),对等点与对等组均能够提供服务,对等点独立提供一个peer服务,对等组则由整个组提供一个peer group服务;Pipe(管道),对等点之间的虚拟连接,是JXTA信息在各个节点之间发送与接收的途径;……
