P2P环境下JAVA技术的运用分析

2016-05-30 10:48金宏亮
科技风 2016年7期
关键词:实际运用

摘 要:本文简要介绍了P2P网络以及JAVA技术,同时从程序开发、网络通信等方面分析了JAVA技术在P2P环境下的实际运用,以期拓展JAVA技术的实际运用,从而使JAVA技术的运用更为丰富。

关键词:P2P环境;JAVA技术;实际运用

一、P2P技术介绍

P2P网络全称为“peer to peer”,部分人则认为是“person to person”。Peer代表具有同等地位以及能力的人,如伙伴以及同事。所以,P2P便可以理解为同事对同事,即对等网。对等网络也可称之为对等组,网络中所有计算机拥有的功能一致,没有主从差异。每台计算机不仅可以作为服务器,由用户指定共享资源,从而达到资源共享的目的,同时也可以作为工作站使用。Intel对P2P的定义如下:P2P指利用系统之间直接相互传输信息完成计算机信息数据的共享网络。其中,信息资源指处理器时钟、磁盘空间以及信息交换等。

相比以服务器客户端技术为基础开发的应用,基于P2P环境下运行的应用,由于其自身的非中心化,所以必然具有更为良好的拓展性,且能够有效保护客户隐私,提高计算机性能以及完成均匀负载。由于上述原因,P2P网络技术在各方面的运用极为广泛,P2P网络技术的不断开发也成为热门关注的热点。基于P2P网络技术开发的软件,需要分布至每个用户系统当中进行使用,但用户不同,计算机所使用的系统之间也存在差异。所以P2P网络的应用范围也受到一定限制。

P2P网络具有以下特点:其一,网络中的计算机数量较少,通常情况下,对等网络的计算机数量不超过10台。其二,利用最为直接的交换方式以达到资源以及服务共享的目的,各个节点拥有相同地位,在作为服务器的同时,也充当客户机的角色。其三,因为对等网络无需使用专业的服务器进行网络支持,所以也不用其他组件以提升网络整体性能,所以组网成本不高,往往用于家庭或是中小型企业之中。

二、JAVA技术简述

JAVA是一种程序语言,其应用范围较广,具有高效性以及通用性。JAVA技术具有一次性编写但可以在任何系统中使用的特点,从而使P2P应用程序的应用范围得到拓展,令P2P应用能应用于不同的客户端之中。不仅如此,如今P2P系统的使用数量虽然明显增多,但彼此之间处于封闭状态,只在自身应用范围当中占领位置。故而,SUN公司开发了完整的开源P2P项目,即JXTA,为P2P的应用构建了一个平台,使得以P2P应用得以在相同的平台之上构建,通过使用该套JAVA类库,能够使P2P网络中JAVA的应用更为简化。

JXTA开发的目的是为了构建简易但能够通用的P2P平台,以接纳不同类型的网络服务。利用JXTA技术所构建的平台定义了一套以XML为基础生成的协议,以满足peer,即对等点所形成的网络需要通用这一功能的要求。需要注意,该套协议与操作系统、所用设备、开发过程中所用语言之间并没有联系,其是独立的个体。如今,JXTA技术得到进一步发展,其功能也有所提升,已然作为P2P研发应用的专用平台。

三、JAVA技术在P2P环境下的实际运用

(一)程序开发

程序开发人员若要在P2P环境下运用JAVA技术进行程序开发,应先在系统当中安装jdk程序,从而为程序开发提供开发环境。等待jdk程序安装完毕之后,程序开发人员还需从网页中下载JXSE类库,其中含有大量P2P应用程序在开发过程中所需使用的类库。上述类库文件会以多个文件包的形式向开发人员提供。至于集成开发环境,设计人员可使用Netbeans。构建项目时,开发人员还应将JXSE類库全部加载至项目类路径之中。

程序开发环境建立完毕之后,开发人员开始以JXSE为基础进行P2P应用程序的开发。因为在开发过程中,JXSE可以将繁杂的P2P底层开发工作封装,对大量接口以及API进行抽象,以便P2P应用开发人员进行调用,使得开发人员在P2P环境下运用JAVA技术开发应用的难度大大降低。开发人员利用JXSE进行P2P应用程序的开发流程基本如下:添加默认的NetPeerGroup,或是于默认状态下的对等组下方进行创建,也可以添加其他对等组。之后等待获得对等组所提供的发现服务,通过该服务分享自己计算机当中的资源,同时也可以搜索其他计算机中的资源,所有资源以通告的形式进行表示。若该计算机需要同某一节点即时通讯,便需借助管道通告建立输入以及输出用管道,随后将需要传输的信息数据封装为消息,利用所建立的管道进行传输,令双方都可传输或接收数据。应用便是在上述流程之上建立而成的,通过上述流程可以分析得出,由于JXSE的存在,使得开发人员无需考虑P2P底层,程序开发难度下降。

(二)网络通信

P2P环境下,JAVA技术不仅可以用于开发软件,同时也可以实现JAVA网络通信。具体实现方法如下:

其一,先获取网络当中具有通信功能端点的IP以及端口。设存在一个端点A,该端点需要与P2P网络当中的其他端点实现通信。则该端点需先将自身IP以及端口告知其他端点。其他所有端点在收到端点A传输的信息之后,便获取了端点A的端口信息以及IP,之后向端点A告知自身IP以及端口信息。端点A可利用多播技术完成向多个端点传输信息的任务。多播技术节省了网络宽带,也使得数据传输效率大大提高,避免了主干网出现拥挤、堵塞的现象。不仅如此,数据包可来源于不同的物理网络。所以,开发人员应使用多播信息的方式传输自身IP以及端口信息。JAVA当中,发送多播信息的具体步骤如下:第一步,确认发送的实际内容。选取专门用于多播的D类IP地址,即(224.0.0.1至239.255.255.255),同时建立一个多播组。利用特定的端口设立多播套接字。第二步,加入该多播组,建立数据包封,添加需要发送的多播信息,之后点击发送。

其二,与获取的IP以及端口信息建立端点通信。以JAVA实现TCP通信的方式为例,用户借助Socket(InetAddress addr,int port)以及Socket(String host,int port)建立客户端套接字。之后使用ServerSocket(int port)建立服务器端套接字。Port端口便是通过服务器监测请求相连的端口,利用调用accept()返还近期建立的Socket目标,该目标与客户应用的IP以及端口号向绑定。之后借助调用Socket中getInputStream()方式取得录入流读传输来的信息,从而建立网络通信。

参考文献:

[1] 邵俊.基于java平台的P2P应用程序的实现[J].武汉大学学报,2014.

作者简介:金宏亮(1991-),男,辽宁大连人,研究方向:信息科学与技术。

猜你喜欢
实际运用
小学语文教学中创设情境教学法的应用
浅谈小学语文中分层教学的实际应用
浅谈翻转课堂在初中数学中的应用
浅谈初中数学教学中数学模型的运用
小学数学教学中游戏教学法的运用
反复操练与实际运用在语法课中的体现
时事新闻在高中政治教学中的运用研究
自然拼读法在英语教学中的应用与思考
初中英语“四步阅读教学法”理论与实践研究