国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

P2P環(huán)境下JAVA技術的運用分析

2016-05-30 10:48金宏亮
科技風 2016年7期
關鍵詞:實際運用

摘 要:本文簡要介紹了P2P網(wǎng)絡以及JAVA技術,同時從程序開發(fā)、網(wǎng)絡通信等方面分析了JAVA技術在P2P環(huán)境下的實際運用,以期拓展JAVA技術的實際運用,從而使JAVA技術的運用更為豐富。

關鍵詞:P2P環(huán)境;JAVA技術;實際運用

一、P2P技術介紹

P2P網(wǎng)絡全稱為“peer to peer”,部分人則認為是“person to person”。Peer代表具有同等地位以及能力的人,如伙伴以及同事。所以,P2P便可以理解為同事對同事,即對等網(wǎng)。對等網(wǎng)絡也可稱之為對等組,網(wǎng)絡中所有計算機擁有的功能一致,沒有主從差異。每臺計算機不僅可以作為服務器,由用戶指定共享資源,從而達到資源共享的目的,同時也可以作為工作站使用。Intel對P2P的定義如下:P2P指利用系統(tǒng)之間直接相互傳輸信息完成計算機信息數(shù)據(jù)的共享網(wǎng)絡。其中,信息資源指處理器時鐘、磁盤空間以及信息交換等。

相比以服務器客戶端技術為基礎開發(fā)的應用,基于P2P環(huán)境下運行的應用,由于其自身的非中心化,所以必然具有更為良好的拓展性,且能夠有效保護客戶隱私,提高計算機性能以及完成均勻負載。由于上述原因,P2P網(wǎng)絡技術在各方面的運用極為廣泛,P2P網(wǎng)絡技術的不斷開發(fā)也成為熱門關注的熱點?;赑2P網(wǎng)絡技術開發(fā)的軟件,需要分布至每個用戶系統(tǒng)當中進行使用,但用戶不同,計算機所使用的系統(tǒng)之間也存在差異。所以P2P網(wǎng)絡的應用范圍也受到一定限制。

P2P網(wǎng)絡具有以下特點:其一,網(wǎng)絡中的計算機數(shù)量較少,通常情況下,對等網(wǎng)絡的計算機數(shù)量不超過10臺。其二,利用最為直接的交換方式以達到資源以及服務共享的目的,各個節(jié)點擁有相同地位,在作為服務器的同時,也充當客戶機的角色。其三,因為對等網(wǎng)絡無需使用專業(yè)的服務器進行網(wǎng)絡支持,所以也不用其他組件以提升網(wǎng)絡整體性能,所以組網(wǎng)成本不高,往往用于家庭或是中小型企業(yè)之中。

二、JAVA技術簡述

JAVA是一種程序語言,其應用范圍較廣,具有高效性以及通用性。JAVA技術具有一次性編寫但可以在任何系統(tǒng)中使用的特點,從而使P2P應用程序的應用范圍得到拓展,令P2P應用能應用于不同的客戶端之中。不僅如此,如今P2P系統(tǒng)的使用數(shù)量雖然明顯增多,但彼此之間處于封閉狀態(tài),只在自身應用范圍當中占領位置。故而,SUN公司開發(fā)了完整的開源P2P項目,即JXTA,為P2P的應用構(gòu)建了一個平臺,使得以P2P應用得以在相同的平臺之上構(gòu)建,通過使用該套JAVA類庫,能夠使P2P網(wǎng)絡中JAVA的應用更為簡化。

JXTA開發(fā)的目的是為了構(gòu)建簡易但能夠通用的P2P平臺,以接納不同類型的網(wǎng)絡服務。利用JXTA技術所構(gòu)建的平臺定義了一套以XML為基礎生成的協(xié)議,以滿足peer,即對等點所形成的網(wǎng)絡需要通用這一功能的要求。需要注意,該套協(xié)議與操作系統(tǒng)、所用設備、開發(fā)過程中所用語言之間并沒有聯(lián)系,其是獨立的個體。如今,JXTA技術得到進一步發(fā)展,其功能也有所提升,已然作為P2P研發(fā)應用的專用平臺。

三、JAVA技術在P2P環(huán)境下的實際運用

(一)程序開發(fā)

程序開發(fā)人員若要在P2P環(huán)境下運用JAVA技術進行程序開發(fā),應先在系統(tǒng)當中安裝jdk程序,從而為程序開發(fā)提供開發(fā)環(huán)境。等待jdk程序安裝完畢之后,程序開發(fā)人員還需從網(wǎng)頁中下載JXSE類庫,其中含有大量P2P應用程序在開發(fā)過程中所需使用的類庫。上述類庫文件會以多個文件包的形式向開發(fā)人員提供。至于集成開發(fā)環(huán)境,設計人員可使用Netbeans。構(gòu)建項目時,開發(fā)人員還應將JXSE類庫全部加載至項目類路徑之中。

程序開發(fā)環(huán)境建立完畢之后,開發(fā)人員開始以JXSE為基礎進行P2P應用程序的開發(fā)。因為在開發(fā)過程中,JXSE可以將繁雜的P2P底層開發(fā)工作封裝,對大量接口以及API進行抽象,以便P2P應用開發(fā)人員進行調(diào)用,使得開發(fā)人員在P2P環(huán)境下運用JAVA技術開發(fā)應用的難度大大降低。開發(fā)人員利用JXSE進行P2P應用程序的開發(fā)流程基本如下:添加默認的NetPeerGroup,或是于默認狀態(tài)下的對等組下方進行創(chuàng)建,也可以添加其他對等組。之后等待獲得對等組所提供的發(fā)現(xiàn)服務,通過該服務分享自己計算機當中的資源,同時也可以搜索其他計算機中的資源,所有資源以通告的形式進行表示。若該計算機需要同某一節(jié)點即時通訊,便需借助管道通告建立輸入以及輸出用管道,隨后將需要傳輸?shù)男畔?shù)據(jù)封裝為消息,利用所建立的管道進行傳輸,令雙方都可傳輸或接收數(shù)據(jù)。應用便是在上述流程之上建立而成的,通過上述流程可以分析得出,由于JXSE的存在,使得開發(fā)人員無需考慮P2P底層,程序開發(fā)難度下降。

(二)網(wǎng)絡通信

P2P環(huán)境下,JAVA技術不僅可以用于開發(fā)軟件,同時也可以實現(xiàn)JAVA網(wǎng)絡通信。具體實現(xiàn)方法如下:

其一,先獲取網(wǎng)絡當中具有通信功能端點的IP以及端口。設存在一個端點A,該端點需要與P2P網(wǎng)絡當中的其他端點實現(xiàn)通信。則該端點需先將自身IP以及端口告知其他端點。其他所有端點在收到端點A傳輸?shù)男畔⒅?,便獲取了端點A的端口信息以及IP,之后向端點A告知自身IP以及端口信息。端點A可利用多播技術完成向多個端點傳輸信息的任務。多播技術節(jié)省了網(wǎng)絡寬帶,也使得數(shù)據(jù)傳輸效率大大提高,避免了主干網(wǎng)出現(xiàn)擁擠、堵塞的現(xiàn)象。不僅如此,數(shù)據(jù)包可來源于不同的物理網(wǎng)絡。所以,開發(fā)人員應使用多播信息的方式傳輸自身IP以及端口信息。JAVA當中,發(fā)送多播信息的具體步驟如下:第一步,確認發(fā)送的實際內(nèi)容。選取專門用于多播的D類IP地址,即(224.0.0.1至239.255.255.255),同時建立一個多播組。利用特定的端口設立多播套接字。第二步,加入該多播組,建立數(shù)據(jù)包封,添加需要發(fā)送的多播信息,之后點擊發(fā)送。

其二,與獲取的IP以及端口信息建立端點通信。以JAVA實現(xiàn)TCP通信的方式為例,用戶借助Socket(InetAddress addr,int port)以及Socket(String host,int port)建立客戶端套接字。之后使用ServerSocket(int port)建立服務器端套接字。Port端口便是通過服務器監(jiān)測請求相連的端口,利用調(diào)用accept()返還近期建立的Socket目標,該目標與客戶應用的IP以及端口號向綁定。之后借助調(diào)用Socket中getInputStream()方式取得錄入流讀傳輸來的信息,從而建立網(wǎng)絡通信。

參考文獻:

[1] 邵俊.基于java平臺的P2P應用程序的實現(xiàn)[J].武漢大學學報,2014.

作者簡介:金宏亮(1991-),男,遼寧大連人,研究方向:信息科學與技術。

猜你喜歡
實際運用
小學語文教學中創(chuàng)設情境教學法的應用
淺談小學語文中分層教學的實際應用
淺談翻轉(zhuǎn)課堂在初中數(shù)學中的應用
淺談初中數(shù)學教學中數(shù)學模型的運用
小學數(shù)學教學中游戲教學法的運用
反復操練與實際運用在語法課中的體現(xiàn)
時事新聞在高中政治教學中的運用研究
自然拼讀法在英語教學中的應用與思考
初中英語“四步閱讀教學法”理論與實踐研究