欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JXTA——JAVA P2P網(wǎng)絡(luò )編程技術(shù)(入門(mén)篇)|SOHO族

JXTA——JAVA P2P網(wǎng)絡(luò )編程技術(shù)(入門(mén)篇)

[ 作者: | 來(lái)源:| 點(diǎn)擊數:1703]

1.前言

       最近,P2PPeer-to-Peer)又成為了因特網(wǎng)上的一個(gè)熱點(diǎn)。P2P是因特網(wǎng)的一種應用模式,其意思是指網(wǎng)絡(luò )上的任何設備(包括大型機、PC機、PDA、手機、機頂盒等等)都可以平等地直接進(jìn)行連接并進(jìn)行協(xié)作。想比當前因特網(wǎng)上主流的應用模式Client/Server或者Client/Service而言,P2P具有自己鮮明的特點(diǎn)和優(yōu)勢。(這也是我對它著(zhù)迷的地方。呵呵……J

       有了P2P技術(shù),因特網(wǎng)不需要一個(gè)大型的服務(wù)器,這對于有些行業(yè)(尤其是網(wǎng)絡(luò )游戲)來(lái)說(shuō),是非常“幸運”的!因為P2P技術(shù)都很方便的實(shí)現你只化很少的money就可以達到你想要的效果。(是不是心動(dòng)了?呵呵……J

       一些常見(jiàn)的P2P應用程序:聊天程序,游戲(尤其網(wǎng)絡(luò )游戲),文件共享,協(xié)同工作和白板。

       當然,P2P網(wǎng)絡(luò )也應具備的下列特點(diǎn):

     互操作性:P2P系統很容易的找到并連接對方,彼此進(jìn)行交流。

     平臺無(wú)關(guān)性:P2P系統應該設計成獨立于編程語(yǔ)言如C,Java等,獨立于系統平臺如WindowsUNIX,獨立于網(wǎng)絡(luò )平臺如TCP/IPBLUETOOTH。

     廣泛性:P2P系統可以運行在任何有數字處理功能的設備上。

2JXTA是什么

       首先,JXTA是為了構建P2P網(wǎng)絡(luò )而制訂的一組協(xié)議,是解決構建P2P網(wǎng)絡(luò )必須要解決的問(wèn)題的方法。共有六個(gè)協(xié)議(關(guān)于這些協(xié)議后面會(huì )詳細的談的)。

       其次,JXTAP2P應用程序開(kāi)發(fā)的運行平臺。目前,JXTA首先推出了基于Java的參考實(shí)現的。

它三層組成:如圖1-1所示:

1-1  JXTA的層次結構

第一層是JXTA核心層,它包含了服務(wù)所必需要的核心功能,包括Peer、對等組、Peer發(fā)現、Peer通信、Peer監視和相關(guān)的安全原語(yǔ);第二層是服務(wù)層,它提供了訪(fǎng)問(wèn)JXTA協(xié)議的接口,包括對于P2P網(wǎng)絡(luò )不是必需的,但很通用的功能,如查找、共享、索引、代碼緩存和內容緩存的機制;第三層是應用層,它使用服務(wù)來(lái)訪(fǎng)問(wèn)JXTA網(wǎng)絡(luò )和JXTA提供的功能,包括了應用JXTA服務(wù)開(kāi)發(fā)出來(lái)得完整的P2P應用程序,如myJXTA,JXTA-CAD等應用程序。

       下面簡(jiǎn)略的介紹一下JXTA的一些概念吧:

3JXTA的一些概念

Peer(對等機):一個(gè)虛擬的通信點(diǎn)。一個(gè)用戶(hù)可以有多個(gè)Peer,一臺計算機或設備上同樣可以有多個(gè)Peer。

Peer Group(對等組):一種組織Peer并且發(fā)布組內的特定服務(wù)的方式??杀粍?chuàng )建、加入、退出;在一個(gè)組里可以更新一個(gè)組成員的關(guān)系。

       Pipe(管道):Peer之間的虛擬通道,可以透過(guò)防火墻的障礙進(jìn)行通信。從而使得Peer在大多數網(wǎng)絡(luò )情況下都可以通信。

       Advertisement(廣告):一個(gè)XML文檔,用來(lái)描述JXTA的消息、Peer、對等組或者服務(wù)等。它必須遵守編碼、標簽和內容的標準,用來(lái)交換JXTA網(wǎng)絡(luò )上可以獲得的任何信息。大多數JXTA的廣告編碼是使用UTF-8。

       Message(消息):有兩種方式來(lái)處理消息:①使用XML格式;②使用二進(jìn)制格式。

       Rendezvous Peer(集合點(diǎn)):一個(gè)能夠處理來(lái)自其他Peer請求的Peer。也可以將請求委托給其他集合點(diǎn)。

       Router Peer(路由Peer):一個(gè)支持Peer端點(diǎn)協(xié)議的Peer。

       Gateway Peer(網(wǎng)關(guān)Peer):一個(gè)作為通信中繼的Peer。與Rendezvous Peer不同的是,它是用來(lái)在Peer間傳遞消息,而Rendezvous Peer是用來(lái)傳遞請求的。

       好了說(shuō)了這么多的東西,連我都有點(diǎn)暈了。J 呵呵……下面開(kāi)始做一個(gè)例子來(lái)熟悉一下吧:

4.下載并安裝JXTA

       軟件地址:http://www.jxta.org,請下載最新穩定版本。我下載的是2003-12-15更新的穩定版。它提供了幾種平臺,根據你的操作系統選擇你需要的JXTA。當然你也可以把它的源代碼都可以下載下來(lái),幫助你了解JXTA是如何工作的,不過(guò)要想編譯這些代碼,你還得使用Apache Ant工具,可以在http://www.apache.org下載。還有一個(gè)要注意的是你還得安裝JDK1.3.1或更高的版本,推薦JDK1.4版本。

       下面講一下配置:

       第一次運行JXTA程序時(shí),JXTA將自動(dòng)顯示配置工具。在Basic settings頁(yè)面里,填上一個(gè)你認為很酷的名字,表示你的Peer Name。點(diǎn)擊OK。下一個(gè)界面輸入安全用戶(hù)名(Secure Username)和密碼(Password),然后在Experienced Users Only頁(yè)面里填上你的IP地址和端口,TCP默認端口為9701,HTTP默認端口為9700,并點(diǎn)擊“+”按鈕。復選框的意思也就一目了然了。當然你也可以點(diǎn)擊Download relay and rendezvous lists按鈕來(lái)下載一些可供使用的TCPHTTP rendezvous列表,以及網(wǎng)關(guān)列表。

       如果你有防火墻一定要選擇Use a relay(Required if behind firewall/NAT) 復選框。

       恭喜,你現在就可以感受和體驗JXTA程序了。J

5Hello JXTA的簡(jiǎn)單程序

程序源代碼:

//HelloJXTA.java

import java.io.InputStream;

import net.jxta.peergroup.PeerGroup;

import net.jxta.peergroup.PeerGroupFactory;

import net.jxta.exception.PeerGroupException;

 

public class HelloJXTA {

  public static void main(String args[]) {

    System.out.println("Starting JXTA....");

    HelloJXTA myapp = new HelloJXTA();

    myapp.startJXTA();

    System.exit(0);

  }

 

  public void startJXTA(){

    PeerGroup pg = null;

    try {

      pg = PeerGroupFactory.newNetPeerGroup();

    }catch (PeerGroupException e) {

       System.out.println("Fatal error:group creation failure");

       e.printStackTrace();

       System.exit(1);

    }

    System.out.println("Hello JXTA!:)");

    System.out.println("Group name = "+pg.getPeerGroupName());

    System.out.println("Group ID = "+pg.getPeerGroupID().toString());

    System.out.println("Peer name = "+pg.getPeerName());

    System.out.println("Peer ID = "+pg.getPeerID().toString());

    System.out.println("Peer BaseClass = "+pg.refTcpProtoSpecID.getBaseClass());

  }

}

 

但要注意的是,此程序在編譯時(shí),要用到jxta.jar文件,因此我們這樣來(lái)編譯程序:

D:>javac –classpath .\lib\jxta.jar HelloJXTA.java

這還不算復雜了,運行時(shí)候就有點(diǎn)復雜了:

D:>java –classpath .\lib\jxta.jar; .\lib\log4j.jar; .\lib\jxtasecurity.jar; .\lib\cryptix-asn1.jar; .\lib\cryptix32.jar; .\lib\bcprov-jdk14.jar;.\lib\jxtaptls.jar;. HelloJXTA

第一次運行程序的時(shí)候,會(huì )自動(dòng)出現JXTA平臺的配置界面(以后只會(huì )出現登錄界面,如圖1-2所示,注意:登錄的是Secure Username,而不是Peer Name),和上面的配置一樣。同時(shí),你還可以發(fā)現當前的目錄下多了個(gè).jxta的目錄:

l         PlatformConfig文件:由JXTA的配置工具生成,是一個(gè)符合XML規范的文本文件。如果你刪除它,下次運行HelloJXTA文件時(shí)候會(huì )出現JXTA平臺配置界面。

l         Cm目錄:本地的緩沖目錄,記錄了發(fā)現的所有的PeerGroup的信息。在本例中,應該發(fā)現jxta-NetGroupjxta-WorldGroup兩個(gè)目錄。

l         Pse目錄:存放Peer用于安全認證的證書(shū)信息。

 

1-2 JXTA登錄界面

 

運行結果,如圖1-3所示:

 

1-3 HelloJXTA運行結果

 

當然你可以把上面的命令寫(xiě)成.bat文件也是可以的,但也可以把上面的包都加入到classpath的環(huán)境變量中去。如果你還是覺(jué)得有點(diǎn)麻煩的話(huà),那就選擇一個(gè)編譯器。比如JCreator Pro 2.0(我只有2.0沒(méi)用2.5 J)。Configure > Options > JDK Profiles > Edit,在Classes頁(yè)面里Add Package。將lib目錄下的*.jar都添加到Classes里面中去。也將jre\lib\目錄下*.jar添加進(jìn)去。編譯、運行,都是OK的!呵呵……入門(mén)就說(shuō)到這里,下一篇將關(guān)于JXTA的一些應用程序。J

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
p2p范例之 peer-group discovery(原創(chuàng )翻譯)
環(huán)境變量
如何進(jìn)行j2sdk和tomcat的安裝及配置
JDK1.6.10和tomcat6.0配置方法
tomcat servlet配置
ClassLoader介紹
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久