锘??xml version="1.0" encoding="utf-8" standalone="yes"?>香港久久久电影,国外成人在线视频网站,欧美日韩国产精品一卡http://m.shnenglu.com/gnupython/category/723.html<font color=blue>......閰掑共鍊樺崠鏃狅紒......</font> <img src=http://services.nexodyne.com/email/icon/dcyohY1Q.RaZMinI0A%3D%3D/7.703%2BQ%3D/R01haWw%3D/0/image.png></img>zh-cnThu, 22 May 2008 21:13:46 GMTThu, 22 May 2008 21:13:46 GMT60濡備綍緙栬瘧錛岄厤緗瓵CEhttp://m.shnenglu.com/gnupython/articles/3450.htmlheart in the worldheart in the worldThu, 23 Feb 2006 11:53:00 GMThttp://m.shnenglu.com/gnupython/articles/3450.htmlhttp://m.shnenglu.com/gnupython/comments/3450.htmlhttp://m.shnenglu.com/gnupython/articles/3450.html#Feedback0http://m.shnenglu.com/gnupython/comments/commentRss/3450.htmlhttp://m.shnenglu.com/gnupython/services/trackbacks/3450.htmlACE鏄釜寰堟湁鐢ㄧ殑寮鏀炬簮浠g爜鐨凜++緗戠粶緙栫▼寮鍙戝寘錛屽埄鐢ㄥ畠姣旂洿鎺ョ敤API鏇存湁鍒╀簬浠g爜鐨勫仴澹э紝鍙Щ妞嶆э紝騫剁浉瀵圭畝鍗曘?BR>浼拌澶у鍒氭帴瑙CE鏃訛紝閮芥湁涓瀹氶毦搴︼紝璇翠笉瀹氬氨鍗婇旀斁寮冧簡錛岃繖鏄垜瀛CE涓ゅぉ涓殑鎬葷粨錛屽熀鏈笂涓嶆垚鏂囷紝浣嗘垜鎯崇爺絀跺埌ACE鐨勪綘涓瀹氫細鏄庣櫧涓嬫枃鐨勬剰鎬濄?BR>
涓銆丄CE瀹樻柟涓婚〉錛?A >http://www.cs.wustl.edu/~schmidt/ACE.html
    涓嬭澆鍦板潃錛?A >http://deuce.doc.wustl.edu/Download.html
   
    鎴戜笅杞界殑鏄疞atest Beta Kit涓殑ACE.zip錛圠atest Release涓殑鍘嬬緝鍖呭ソ鍍忔湁闂錛屾垜鏈塛inRAR3.30瑙e帇緙╂姤閿欙級

浜屻佽В鍘嬬緝鍚庢斁鍦―鐩?BR>    D:\ACE_wrappers

涓夈佸湪D:\ACE_wrappers\ace鐩綍涓嬫柊寤烘枃浠禼onfig.h鍔犲叆涓琛?BR>    #include "ace/config-win32.h"
   
鍥涖佺紪璇戯細鐢╒C6.0鎵撳紑D:\ACE_wrappers\ace\ace.dsw
    宸︿晶鏄劇ず    ACE DLL classes
               ACE LIB classes
    鎴?銆佷粠鑿滃崟涓婇夋嫨鈥滅紪璇戔濓紝鈥滄斁緗彲榪滆閰嶇疆鈥濓紝閫夋嫨浣犻渶瑕佺殑宸ョ▼閰嶇疆
        鈥滅紪璇戔濓紝鈥滈噸寤哄叏閮ㄢ濓紙鎴栦換涓錛屽ACE DLL - Win32 MFC Debug錛?BR>        姝よ繃紼嬪彲鑳芥寔緇崐灝忔椂鑷充竴涓皬鏃朵笉絳?BR>    鎴?銆佷粠鑿滃崟涓婇夋嫨鈥滅紪璇戔濓紝鈥滄壒鏋勫緩鈥濓紝閫夋嫨浣犻渶瑕佺殑宸ョ▼閰嶇疆
        姝よ繃紼嬪彲鑳芥寔緇簩鑷沖洓涓挓澶?BR>       
    浜х敓鐨?lib鏂囦歡浣嶄簬D:\ACE_wrappers\ace\涓嬶紝
    浜х敓鐨?dll鏂囦歡浣嶄簬D:\ACE_wrappers\bin\涓?BR>   
   
    鍚屾牱鎵撳紑ace_static.dsw
    緙栬瘧
    ACEs.lib
    ACEsd.lib
    ACE_RMCasts.lib
    ACE_RMCastsd.lib
    TMCasts.lib
    TMCastsd.lib

    ACE鐢熸垚鐨刣ll鍜宭ib鏂囦歡鐨勫懡鍚嶈鍒欙細錛坉 = debug錛宻 = static錛?BR>
    debug - aced.lib銆乨ebug+static - acesd.lib銆乺elease - ace.lib銆?release+static - aces.lib


浜斻佹牱渚嬬▼搴忕殑緙栬瘧
    鐢╒C鎵撳紑D:\ACE_wrappers\tests\tests.dsw
    鈥滅紪璇戔濓紝鈥滄壒鏋勫緩鈥?BR>   
鍏佽嚜鍐欑▼搴忕殑宸ョ▼閰嶇疆
   
    涓瘒錛欰CE紼嬪簭鍛樻暀紼?pdf涓殑鏍蜂緥紼嬪簭錛?BR>    緗戝潃錛?A >http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/tutorials/guide-tutorials.html
   
    灝嗙綉欏典笂鐨勫師浠g爜澶嶅埗鍒頒竴鏂板緩鏂囦歡錛屽茍鍛藉悕涓簊erver.cpp
    鐢級錛f墦寮錛岀紪璇戯紝閲嶅緩鍏ㄩ儴錛屽脊鍑哄璇濇錛屸淭his build command require ...鈥滐紝鐐光濇槸鈥?BR>   
    浼氬嚭鐜頒互涓嬮敊璇?BR>   
    濡傛灉鏈夆淐annot open include file: 'ace/SOCK_Acceptor.h': No such file or directory鈥?BR>    宸ョ▼-璁劇疆-C/C++: Preprocessor,闄勫姞鍖呭惈璺緞錛欴:/ACE_wrappers
   
    濡傛灉鏈夆?You must link against multi-threaded libraries when using ACE (check your project settings)鈥?BR>    宸ョ▼-璁劇疆-C/C++: Code Generation - Use run-time library : Debug Multithreaded Dll
   
    濡傛灉鏈夆渆rror C2065: 'ACE_ERROR' : undeclared identifier鈥?BR>            error C2065: 'ACE_DEBUG' : undeclared identifier
    #include "ace/Log_Msg.h"

    error C4716: 'ace_main_i' : must return a value
        鍦╩ain涓姞鍏?BR>            return 0;
   
    鈥渆rror LNK2001: unresolved external symbol "__declspec(dllimport) int __cdecl鈥?BR>    宸ョ▼-璁劇疆-Link-Input: 瀵硅薄/搴撴ā鍧楋細娣誨姞aced.lib                         闄勫姞搴撹礬寰勶細D:\ACE_wrappers\ace
                       
   
                       
    緙栬瘧client涓亣鍒扮殑闂
    1銆乪rror C2039: 'sprintf' : is not a member of 'ACE_OS'
       
        #include "ace/OS_NS_stdio.h"
       
    2銆乪rror C2039: 'strlen' : is not a member of 'ACE_OS'
   
        #include "ace/OS_NS_string.h"
    3銆乪rror C2059: syntax error : '?'
        閿欒鍦ㄨ繖涓鍙ワ細  ACE_DEBUG((LM_DEBUG,?Usage egX <hostname> <port_number>\n?));
        灝?鏀逛負"
       
    4銆佹棤娉曟壘鍒板姩鎬侀摼鎺ュ簱aced.dll浜庢寚瀹氱殑璺緞
        涓虹郴緇熷彉閲廝ATH鍔犱笂D:\ACE_wrappers\bin
            
    闈欐佸寘鍚細
       宸ョ▼-璁劇疆-C/C++-棰勫鐞嗙▼搴忓畾涔変腑鍔犲叆 ,ACE_AS_STATIC_LIBS
      
      
渚嬶紤server緙栬瘧鍚庣敓鎴?BR>    server.exe 16K  serverd.exe 97K     servers.exe 124K serversd.exe 669K
    錛坰ervers.exe杈冮傚悎鍙戝竷錛?BR>   
渚? client緙栬瘧鍚庣敓鎴?BR>    client.exe 16K  clientd.exe 97K     clients.exe 124K clientsd.exe 669K
   錛坈lients.exe杈冮傚悎鍙戝竷錛?BR>   
    嫻嬭瘯 clients 127.0.0.1 1919
        servers 1919


涓嬮潰鏄┈緇磋揪鑰佸笀鍐欑殑錛?杞嚜huihoo)

鍙戣〃浜庯細 3/31/2003 - 04:24
緲昏瘧鐨勪竴鐐瑰皬涓滆タ錛屽笇鏈涜兘瀵瑰ぇ瀹舵湁甯姪銆?BR>鍏跺疄涔熶笉鏁㈢О涓烘槸緲昏瘧鐨勶紝姘村鉤澶儌浜嗭紝澶у灝嗗氨鐫鐪嬪惂 錛氾級

浣跨敤Microsoft Visual C++ 鍦╳in32騫沖彴涓婄敓鎴愬拰瀹夎ACE錛?BR>
娉ㄦ剰錛氬叧浜嶮SVC5.0鍜孲ervice Pack 3鐨勪嬌鐢ㄦ湁涓浜涢棶棰橈紝榪囧幓涓浜涚敤鎴峰湪sp2涓嬌鐢ㄨ壇濂界殑浠g爜鍦╯p3縐嶅嵈浼氬紩鍙戜竴浜涢棶棰樸傛劅璋ill 鐨勭粏蹇冩煡鎵撅紝榪欎竴紲炵鐨勯棶棰樿瑙e喅浜嗐傜瓟妗堬紵錛堝摝錛岃繖鍎挎湁涓涓ソ絳旀銆傘傘傦級榪欏彲鑳芥槸鍥犱負鏈夊涓増鏈殑sp3杈冩棭鐗堟湰鐨剆p3鏈変竴浜沚ug錛岃屽悗鏉ョ殑鐗堟湰淇浜嗚繖浜涢敊璇紝浠庡井杞綉绔欎笂涓嬭澆鐨?998騫?鏈?6鏃ョ増鏈殑sp3鏄竴涓壇濂界殑鐗堟湰銆傚鏋淴03-50158鏄偅浜涙嫢鏈塻p3鐨勫厜鐩樺簭鍒楀彿鐨勪竴閮ㄥ垎錛岄偅涔堣繖浜涚増鏈篃鏄壇濂界殑銆備絾鏄笉綆′換浣曠増鏈殑sp3錛屽叾STL鐨勫疄鐜伴兘鏈夐敊璇紝璇︾粏鎯呭喌璇鋒祻瑙坔ttp://www.dinkumware.com/vc_fixes.html銆傛劅璋en Eng瀵硅繖浜涢敊璇殑淇銆?BR>鐜板湪鐨凷P4(甯屾湜鍙湁涓涓増鏈?宸茬粡淇浜哠TL涓殑姝婚攣闂銆?BR>鎴戜滑鐜板湪灝嗕笉鍐嶇Н鏋佺殑鏀寔MSVC 4.X浠ュ強浠ュ墠鐨勭増鏈紝ACE鍙拰榪欎簺緙栬瘧鍣ㄤ竴璧峰伐浣滀絾鏄彲鑳戒細涓㈠け涓浜涘ソ澶勩?BR>1. 灝咥CE鍒嗗彂鍖呯晫鍘嬬緝鍒頒竴涓洰褰曚腑錛岃繖灝嗗湪閭d釜鐩綍涓敓鎴愪竴涓寘鍚獳CE鐨勭洰褰旳CE_wrappers銆傛帴涓嬫潵鐨勬楠や腑鍋囪ACE鍒嗗彂鍖呰瑙e帇緙╁埌ACE_ROOT=C:\ACE_wrappers涓紝鍥犳ACE灝嗕細瀛樺湪浜嶢CE_ROOT\ace鐩綍涓?BR>2. 鍦ˋCE_ROOT\ace鐩綍涓垱寤轟竴涓枃浠訛紝鍛藉悕涓篶onfig.h錛屽叾鍐呭涓猴細
#include "ace/config-win32.h"
3. 鍦╒C++涓姞杞紸CE鐨勫伐紼嬫枃浠訛紙ACE_ROOT\ace\ace.dsw錛?BR>4. 姣忎釜宸ョ▼閮戒細鍖呭惈澶氫釜閰嶇疆錛岃繖浜涢厤緗槸Debug/Release, MFC/Non-MFCh鍜孲tatic/Dynamic搴撶増鏈瓑閫夐」鐨勬販鍚堛傜‘瀹氫綘鎵闇瑕佺殑鏋勯?渚嬪錛岃皟璇曚唬鐮侀渶瑕丄CE鐨勮皟璇曠増鏈?銆傛墍鏈夎繖浜涗笉鍚岀殑閰嶇疆鍙互涓轟綘鎻愪緵涓浜涗究鍒╋紝浣犲彲浠ユ垨鑰呴噰鐢ㄤ笉鍚岀殑妯″紡浠ユ瀯閫犱笉鍚岄厤緗殑搴旂敤錛屾垨鑰呴氳繃鏀瑰彉ace\config.h鏉ユ敼鍙樺湪NT涓婄殑涓嶅悓閰嶇疆銆?BR>娉ㄦ剰錛氬鏋滀綘浣跨敤鍔ㄦ佽繛鎺ワ紝璇蜂繚璇丄CE_ROOT\bin琚坊鍔犲埌浣犵殑path鐜鍙橀噺涓紝鍚﹀垯浣犲皢鍦ㄨ繍琛岀▼搴忕殑鏃跺欑鍒板鎵綼ce.dll鎴栬卆ced.dll鐨勯棶棰樸?BR>5. 濡傛灉浣犲湪Windows NT鎴栬匴indows 2k涓婃瀯寤篈CE錛屼綘鍙互椹笂寮濮嬫瀯閫犲ス鑰屼笉闇浠諱綍鏀瑰彉錛屽鏋滀綘鍦╓indows 9x/me涓婃瀯寤猴紝閭d箞浣犲繀欏誨湪
ACE_ROOT\ace\config.h.鐨?include鍧椾箣鍓嶆坊鍔犱竴琛岋細
#define ACE_HAS_WINNT4 0
榪欏皢鍦ˋCE涓Щ鎺変竴浜沇inNT/Win2K涓壒鏈夌殑浠g爜銆?BR>6. 濡傛灉浣犲笇鏈涗嬌鐢∕SVC鑷甫鐨勬爣鍑咰++澶存枃浠訛紙C++ Standard Draft 2縐嶅畾涔夌殑iostream,cstdio鈥?.錛?鍒欏簲璇ュ湪
ACE_ROOT\ace\config.h.鐨?include鍧椾箣鍓嶆坊鍔犱竴琛岋細
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
7. 濡傛灉闇瑕佸拰MFC涓璧蜂嬌鐢紝澧炲姞濡備笅瀹氫箟鍒頒綘鐨刢onfig.h鏂囦歡涓紝娉ㄦ剰錛屽鏋滀綘鎯充嬌鐢╯pawn涓涓柊鐨勭嚎紼嬶紝鍒欏繀欏諱繚璇佷嬌鐢═HR_USE_AFX鏍囧織鏉pawn綰跨▼銆?BR>#define ACE_HAS_MFC 1
緙虹渷鐨勶紝ACE宸ョ▼浣跨敤MSVC榪愯鏃剁殑鍔ㄦ丏LL鐗堟湰錛屼綘涔熷彲浠ラ夋嫨浣跨敤ACE鐨勪笉鍏沖績榪愯鏃跺簱鐨勯潤鎬侊紙LIB錛夌増鏈傛垜浠夋嫨浠呬笌鍔ㄦ佽繍琛屾椂搴撹繛鎺ョ殑鍘熷洜鍦ㄤ簬鍩烘湰涓婃墍鏈夌殑NT鏈哄櫒涓婇兘浼氬畨瑁呰繖浜涘簱錛岃屾垜浠垯鍙互鍥犳鑰屽噺灝忎唬鐮佺殑澶у皬銆傚鏋滀綘甯屾湜ACE涓嶮FC鐨勯潤鎬佺増鏈繛鎺ワ紝鍒欏彲浠ュ湪config.h涓畾涔堿CE_USES_STATIC_MFC銆傜劧鑰岋紝濡傛灉浣犲笇鏈涢潤鎬佺殑榪炴帴鎵鏈夌殑搴擄紙鍖呮嫭MSVC榪愯鏃跺簱錛夛紝灝遍渶瑕佽嚜宸變慨鏀瑰伐紼嬫枃浠朵簡銆?BR>8. 濡傛灉瑕佹瀯寤篈CE鐨勯潤鎬佺増鏈紝鍒欓渶瑕佸湪config.h涓畾涔堿CE_AS_STATIC_LIBS錛屾瀹忓湪閭d簺甯屾湜浣跨敤ACE鐨勯潤鎬佺増鏈殑搴旂敤宸ョ▼涓篃蹇呴』瀹氫箟銆?BR>浣滀負涓涓彲閫夐」錛屼綘鍙互鍦?BR>#include statement in ACE_ROOT\ace\config.h.涔嬪墠娣誨姞涓琛岋細
#define ACE_NO_INLINE
鏉ュ彇娑堝嚱鏁板唴鑱斾粠鑰屽噺灝忛潤鎬佸簱錛堝拰浣犵殑榪愯鐮侊級鐨勫ぇ灝忋?BR>9. ACE DLL鍜孡IB搴撶殑鍛藉悕瑙勫垯錛?BR>鎴戜滑浣跨敤濡備笅鐨勮鍒欐槑鏄庝嬌鐢∕SVC鐨凙CE鐨凞LL鍜孡IB鏂囦歡銆?BR>"Library/DLL name" + (鏄潤鎬佸簱鍚?? "s" : "") + (鍖呭惈璋冭瘯淇℃伅 ? "d" : "") + {".dll"|".lib"}
鍦∕SVC鐜涓嬌鐢ˋCE鐨勬洿澶氫俊鎭彲浠ュ湪榪欓噷鎵懼埌銆?BR>


-----------------------------------------------------------------------
涓銆佸畨瑁匱AO錛岄渶瑕佸厛緙栬瘧騫跺畨瑁匒CE銆?BR>
浜屻丄CE鐨勭紪璇戝拰瀹夎姝ラ瑙乭ttp://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INSTALL.html銆俆AO鐨勭紪璇戝拰瀹夎姝ラ瑙乭ttp://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/TAO-INSTALL.html銆傚鏋滀綘鑻辨枃紼嬪害榪樺彲浠ョ殑璇濓紝鏈濂界洿鎺ラ槄璇昏繖涓ょ瘒鏂囨。銆傝鍒板簳錛屼腑鏂囨枃妗e彧鏄滄潈瀹滀箣璁♀濓紱姹夎騫朵笉澶傚悎榪涜閫昏緫鎬х殑琛ㄨ堪銆?BR>
浣嗘垜榪樻槸鎶婂叾涓殑涓浜涙钀界紪璇戝涓嬶紙VC 6.0 + ACE-5.2.1 + TAO-1.2.1錛夛細

ACE鐨勭紪璇戜笌瀹夎

涓鑸鍒?BR>
ACE涓殑璁稿鐗規(guī)у彲浠ラ氳繃鍦?ACE_ROOT/ace/config.h涓畾涔変竴浜涘畯鏉ヨ繘琛屼慨鏀廣傝繖浜涘畯搴旇鎬繪槸鍦ㄥ寘鎷拡瀵逛綘鐨勫鉤鍙扮殑閰嶇疆鏂囦歡涔嬪墠鍑虹幇銆?BR>
浣嗘槸錛屽鏋滀綘鎯寵鍙栨秷/閲嶅畾涔夊湪閽堝鐗瑰畾騫沖彴鐨勯厤緗枃浠朵腑瀹氫箟鐨勫畯錛?undef搴旇鍦ㄩ厤緗枃浠朵箣鍚庡嚭鐜般?BR>
濡傛灉浣犺鍒掑湪澶氱騫沖彴涓婄紪璇慉CE錛屼綘涔熻闇瑕佽冭檻鍏嬮殕婧愮爜鏍戙?BR>
姝ラ錛?BR>
1. 灝咥CE鍙戝竷鏂囦歡瑙e帇緙╁埌鏌愪釜鐩綍涓紝鍦ㄥ叾涓皢浼氬垱寤哄惈鏈夋墍鏈夋枃浠剁殑ACE_wrappers鐩綍銆傚湪涓嬮潰鐨勬楠や腑錛孉CE_wrappers鐩綍灝嗕互ACE_ROOT涓哄悕鏉ユ寚縐般?BR>
2. 鍦ˋCE_ROOT\ace鐩綍涓垱寤轟竴涓悕涓篶onfig.h鐨勬枃浠訛紝鍦ㄥ叾涓寘鍚細

#include 鈥渁ce/config-win32.h鈥?BR>
3. 鐜板湪鍔犺澆ACE鐨勯」鐩枃浠訛紙ACE_ROOT\ace\ace.dsw錛夈?BR>
4. 鍏朵腑鐨勬瘡涓」鐩兘鍚湁鑻ュ共涓嶅悓鐨勯厤緗紙鍙販鍚圖ebug/Release銆丮FC/Non-MFC銆丼tatic/Dynamic library鐗堟湰錛夈備綘鍙互浠庝腑閫夋嫨浣犳墍闇鐨勯厤緗紝鎴栨槸浣跨敤ace/config.h鏉ヨ繘琛岃皟鏁淬?BR>娉ㄦ剰錛氬鏋滀綘浣跨敤鍔ㄦ侀摼鎺ュ簱錛屽湪榪愯浣跨敤ACE鐨勭▼搴忔椂錛岀‘瀹氫綘鍦≒ATH涓寘鎷簡ACE_ROOT\bin銆?BR>
5. 濡傛灉浣犵殑緋葷粺騫沖彴鏄疻inNT鎴?000錛岄偅涔堟棤闇浠諱綍鏀瑰姩浣犲氨鍙互寮濮嬬紪璇戜簡銆傚鏋滄槸Windows 9x/Me錛屼綘闇瑕佸湪ACE_ROOT\ace\config.h涓殑#include璇彞涔嬪墠澧炲姞錛?BR>
#define ACE_HAS_WINNT4 0

6. 濡傛灉浣犳兂瑕佷嬌鐢∕SVC鏍囧噯C++澶達紙iostream銆乧stdio鈥︹︼級錛屽湪ACE_ROOT\ace\config.h涓殑#include璇彞涔嬪墠澧炲姞錛?BR>
#define ACE_HAS_STANDARD_CPP_LIBRARY 1

7. 瑕佷笌MFC涓璧蜂嬌鐢ˋCE錛屽啀澧炲姞涓嬮潰鐨勫畾涔夛細

#define ACE_HAS_MFC 1

娉ㄦ剰濡傛灉浣犳兂瑕侀氳繃CWinThread媧劇敓鏂扮嚎紼嬶紝涓瀹氳璁劇疆THR_USE_AFX銆傚湪緙虹渷鎯呭喌涓嬶紝鎵鏈夌殑ACE欏圭洰閮戒嬌鐢―LL鐗堟湰鐨凪SVC榪愯鏃跺簱銆傚敖綆″姝わ紝浣犱粛鐒跺彲浠ラ夋嫨浣跨敤static錛圠IB錛夌増鏈殑ACE搴撱傚鏋滀綘鎯寵灝哅FC浣滀負闈欐佸簱閾炬帴榪汚CE錛屼綘鍙互鍦╟onfig.h鏂囦歡涓畾涔堿CE_USES_STATIC_MFC銆備絾濡傛灉浣犳兂瑕侀潤鎬侀摼鎺ユ墍鏈夌殑涓滆タ錛堝寘鎷琈SVC榪愯鏃跺簱錛夛紝浣犲氨闇瑕佽嚜宸變慨鏀笰CE鐨勯」鐩枃浠躲?BR>
8. ACE鐨勯潤鎬佺増鏈槸閫氳繃瀹氫箟ACE_AS_STATIC_LIBS鏉ョ紪璇戠殑銆傚湪閾炬帴闈欐丄CE搴撶殑搴旂敤欏圭洰涓篃搴旇浣跨敤榪欎釜瀹忋?BR>浣犱篃鍙互鍦╟onfig.h鏂囦歡涓鍔?BR>
#define ACE_NO_INLINE

鏉ュ彇娑堝嚱鏁板唴鑱斿茍鍑忓皬闈欐佸簱錛堝拰浣犵殑鍙墽琛岀▼搴忥級鐨勫ぇ灝忋?BR>
9. ACE DLL鍜孡IB鐨勫懡鍚嶆柟妗堬細

"Library/DLL鍚? + (鏄惁涓洪潤鎬佸簱 ? "s" : "") + (鏄惁鍚敤浜咲ebugging ? "d" : "") + {".dll"|".lib"}

10. 閰嶇疆瀹屾瘯鍚庣紪璇戝嵆鍙傞夋嫨dll鐗堟湰錛岀紪璇戠敓鎴愮殑dll鏂囦歡鍦ˋCE_ROOT\bin涓紝鐩稿簲鐨刲ib鏂囦歡鍦ˋCE_ROOT\ace涓?BR>
ACE嫻嬭瘯

鍚勬祴璇曠▼搴忓湪ACE_ROOT\tests涓傚湪鍏朵腑涔熸湁涓涓伐浣滅┖闂存枃浠跺彲鐢ㄦ潵緙栬瘧鎵鏈夌殑嫻嬭瘯紼嬪簭錛坱ests.dsw錛夈?BR>涓鏃︿綘緙栬瘧浜嗘墍鏈夋祴璇曠▼搴忥紙鍙嬌鐢ㄦ壒緙栬瘧錛夛紝浣犲彲浠ヨ繍琛宼ests鐩綍涓殑perl鑴氭湰run_test.pl鎴栨壒澶勭悊鏂囦歡run_tests.bat鏉ヨ繘琛屾墍鏈夋祴璇曘?BR>
TAO鐨勭紪璇戜笌瀹夎

紜畾VC鐨凜L.EXE鍦ㄤ綘鐨勮闂礬寰勪笂銆傝緗瓵CE_ROOT鎴朤AO_ROOT鐜鍙橀噺銆備緥濡傦細

set ACE_ROOT=C:\ACE_wrappers

TAO鏈濂芥斁緗湪ACE_wrappers錛堣繖涔熸槸緙虹渷鎯呭喌錛夈?BR>
1.紜畾ACE宸茬粡緙栬瘧鍜屽畨瑁呫?BR>
2.紜畾ACE_wrappers\bin宸插湪鈥淭ools|Options鈥濅腑鐨勨淓xecutable Directories鈥濅腑鍒楀嚭銆傚鏋滃湪MSVC涓嬩嬌鐢═AO_IDL緙栬瘧鍣ㄥ氨闇瑕佽繘琛屾璁劇疆銆?BR>
3.鍔犺澆tao\TAO.dsw錛屽茍緙栬瘧TAO搴撱?BR>
4.瑕佺紪璇慍ubit嫻嬭瘯錛屽姞杞絧erformance-tests\Cubit\TAO\IDL_Cubit\IDL_Cubit.dsw錛屽茍緙栬瘧瀹㈡埛鍜屾湇鍔″櫒銆?BR>
TAOACE.dsw

TAOACE.dsw鏄竴涓猇isual C++ 5.0/6.0宸ヤ綔絀洪棿鏂囦歡錛屽畠鍔犺澆鐨勯」鐩寘鎷珹CE銆乀AO銆乀AO_IDL錛堢紪璇戝櫒錛夈乬perf銆乷rb鏈嶅姟搴擄紝浠ュ強涓浜涘崟鐙殑鍙墽琛岀▼搴忥紙姣斿Naming Service錛岀瓑絳夛級銆傚畠鍙互鐢ㄤ簬緙栬瘧鎵鏈夌殑鐢ㄤ簬緙栬瘧/榪愯TAO搴旂敤鐨勬枃浠躲?BR>
涓夈佹垜閫夋嫨緙栬瘧鐨勬槸dll鐗堟湰錛圧elease錛夛紝騫跺湪ACE鐨刢onfig.h鏂囦歡涓畾涔変簡鈥?define ACE_HAS_STANDARD_CPP_LIBRARY 1鈥濄傜紪璇戝悗鎴戞墍寰楀埌鐨刟ce.dll鐨勫ぇ灝忔槸1.13MB錛岀浉搴旂殑ace.lib鐨勫ぇ灝忔槸1.77MB錛汿AO.dll鐨勫ぇ灝忔槸1.47MB錛岀浉搴旂殑TAO.lib鐨勫ぇ灝忔槸2.74MB銆傛墍鏈夋枃浠剁害鏈?MB錛屽寘鎷簮紼嬪簭銆佺紪璇戠敓鎴愮殑涓棿鏂囦歡錛岀瓑絳夛紝浣嗘湁浜涗緥瀛愬強鏈嶅姟鎴戞病鏈夌紪璇戙?BR>
紲濆鏈夋墍鎴愶紒

椹淮杈?BR>
-------------------------------------
灝咥CE涓嶸C6闆嗘垚鍦ㄤ竴璧?BR>
涓.鎵撳紑 Tools>Options>Directories
鍔犲叆浠ヤ笅鍐呭:
Executable File:
C:\ACE_wrappers\bin

Include File:
C:\ACE_wrappers\
C:\ACE_wrappers\TAO
C:\ACE_wrappers\TAO\orbsvcs

Library Files:
C:\ACE_wrappers\ace
C:\ACE_wrappers\TAO\tao
C:\ACE_wrappers\TAO\orbsvcs\orbsvcs

Source Files:
C:\ACE_wrappers\ace
C:\ACE_wrappers\TAO\tao
C:\ACE_wrappers\TAO\orbsvcs\orbsvcs

浜?鍔犲叆 C:\ACE_wrappers\bin 鍒扮郴緇熺幆澧冨彉閲?path涓?BR>
涓?璁劇疆緋葷粺鍙橀噺
ACE_ROOT=C:\ACE_wrappers
TAO_ROOT=C:\ACE_wrappers\TAO



heart in the world 2006-02-23 19:53 鍙戣〃璇勮
]]>
璁捐涓嶅彈浼犵粺緗戠粶闄愬埗鐨?P2P 緋葷粺http://m.shnenglu.com/gnupython/articles/2405.htmlheart in the worldheart in the worldTue, 03 Jan 2006 12:02:00 GMThttp://m.shnenglu.com/gnupython/articles/2405.htmlhttp://m.shnenglu.com/gnupython/comments/2405.htmlhttp://m.shnenglu.com/gnupython/articles/2405.html#Feedback0http://m.shnenglu.com/gnupython/comments/commentRss/2405.htmlhttp://m.shnenglu.com/gnupython/services/trackbacks/2405.html澹版槑涓涓嬶細鍦╮eprinting鏍忕洰涓殑鏂囩珷瀹屽叏鏄漿杞斤紝鏉ヨ嚜浜掕仈緗戯紝鏈漢瀹屽叏鏄涔犱箣鐢紝濡傛灉錛岃漿杞戒鏡鐘簡鎮(zhèn)ㄧ殑鐗堟潈錛岃緇欐垜鑱旂郴涓涓嬶紝鎴戜細浣滅浉搴斿鐞嗐侲mail:gaoyuanxue118@gmail.com
璁捐涓嶅彈浼犵粺緗戠粶闄愬埗鐨?P2P 緋葷粺

闅忕潃縐誨姩璁$畻鐨勬櫘鍙婂拰宓屽叆寮忓彲鑱旂綉寰鐞嗗櫒鐨勬棤澶勪笉鍦ㄧ殑搴旂敤錛孴CP/IP 緇堜簬鏄鵑湶鍑哄畠宸茬粡鏄懼緱榪囨椂銆傝璁?Jxta 鐨勫垵琛峰氨鏄紿佺牬褰撲粖鍩轟簬 TCP/IP 鐨勭綉緇滅殑闄愬埗錛屼粠鑰屾墿灞曞洜鐗圭綉鎵鑳借Е鍙婄殑鑼冨洿銆傚湪 developerWorks 鐨勮璁?Jxta 鐨勭郴鍒楃殑榪欐渶鍚庝竴綃囨枃绔犱腑錛孲ing Li 涓句緥璇存槑浜嗕綋鐜拌繖縐嶆墿灞曠殑緋葷粺錛屽茍瑙e喅浜嗕竴涓疄闄呴棶棰樸傛?zhèn)畣鐪嬪?Jxta 涓嶅彈瀹㈡埛鏈猴紡鏈嶅姟鍣ㄧ綉緇滅殑鍏稿瀷綰︽潫鐨勯檺鍒躲傝鍗曞嚮鏈枃欏墮儴鎴栧簳閮ㄧ殑璁ㄨ錛屽湪璁ㄨ璁哄潧涓庝綔鑰呭強鍏朵粬璇昏呭叡浜叧浜庢湰鏂囩殑蹇冨緱銆?br>
鍒版湰緋誨垪鏂囩珷鐨? 榪欓噷涓烘錛屾垜浠粩緇嗚冨療浜?Jxta錛屼竴涓?Java 鍙傝冨疄鐜扮殑鏂?P2P 騫沖彴錛屾槸濡備綍宸ヤ綔鐨勩傚湪絎竴閮ㄥ垎涓紝鎴戜滑浜嗚В浜?Jxta 鐨勪簰鎿嶄綔鐗瑰緛銆侸xta 琚畾涔変負涓緇勪簰鎿嶄綔鍗忚錛屽彲浠ヨ法紜歡騫沖彴銆佹搷浣滅郴緇熷拰緙栫▼璇█瀹炵幇銆傛垜浠篃璁ㄨ浜?Jxta 鐨勬搷浣滄ā鍨嬪拰鍖呮嫭瀵圭瓑鏈恒佸絳夌粍銆佹湇鍔″拰綆¢亾鍦ㄥ唴鐨勮澶氶噸瑕佹蹇點傚湪絎簩閮ㄥ垎涓紝鎴戜滑鐨勭潃鐪肩偣鏄緩绔嬪拰榪愯 Jxta銆傛垜浠帰璁ㄤ簡涓涓?Jxta 搴旂敤紼嬪簭 鈥?Jxta shell 鈥?騫剁粡鍘嗕簡鍒涘緩綆¢亾騫朵粠涓涓絳夋満鍙戦佹秷鎭埌鍙︿竴涓絳夋満鐨勬儏褰€傚湪鎴戜滑緙栧啓 Jxta shell 鎵╁睍鏃訛紝鎴戜滑絎竴嬈¤幏寰椾簡鐢?Jxta API 緙栫▼鐨勭粡楠屻傝縿浠婁負姝紝鎴戜滑璁ㄨ Jxta 鐨勬柟寮忛兘鏄粠涓嬪埌涓婄殑銆傚浜庡儚鎴戜滑榪欐牱鍏鋒湁緋葷粺緙栫▼鍜岀綉緇滃伐紼嬭儗鏅殑浜烘潵璇達紝榪欐槸鍐嶈嚜鐒朵笉榪囩殑銆?br>
鍦ㄦ湰緋誨垪鐨勮繖絎笁綃囦篃鍗蟲渶鍚庝竴綃囨枃绔犱腑錛屾垜浠鎶婁簨鎯呴鍊掕繃鏉ャ備粠閭d簺浠庝簨搴旂敤綰ц璁″拰浣撶郴緇撴瀯鐨勪漢鐨勮搴︽潵璇達紝鏈枃鏄嚜涓婅屼笅鐪嬪緟 Jxta 鐨勩傛垜浠粠涓涓壒瀹氱殑紺轟緥闂寮濮嬶紝瀵硅繖涓棶棰樿繘琛屽垎鏋愬茍璁捐鍑轟竴涓В鍐蟲柟妗堬紝浠庤屽睍紺?Jxta 鏄浣曡嚜鐒跺湴瑙e喅璇ラ棶棰樼殑銆?br>
闅忕潃鏈枃鐨勮繘琛岋紝鎴戜滑璁ㄨ Jxta 濡備綍閫氳繃騫跺垪錛坖uxtaposition錛夋敼鍙樿仈緗戠殑鍓嶆櫙灞曟湜錛屾垜浠繕鎻愪緵涓涓?Jxta 鏈嶅姟鍜屽鎴鋒満鐨勮璁″拰浠g爜銆?br>
瑙e喅涓涓垎甯冨紡鏁版嵁鏀墮泦闂
璁? 鎯充竴涓嬫垜浠渶瑕佸垱寤轟竴涓ぇ瑙勬ā鐨勬皵璞℃暟鎹敹闆嗗拰鍒嗘瀽緋葷粺銆傚湪榪欎釜緋葷粺涓紝鎴戜滑鏈夋暟鐧句釜姘旇薄鏁版嵁鏀墮泦鐐癸紱姣忎釜鏀墮泦鐐歸厤澶囦竴涓井鍨嬫皵璞$珯錛岃繖浜涙皵璞$珯灝嗗綋鍓嶆俯 搴︼紙鍜屽叾瀹冨ぇ姘旂姸鎬侊級鎻愪緵緇欎竴緇勬暟鎹泦涓櫒銆傛敹闆嗗櫒閬嶅竷涓栫晫鍚勫湴錛涜繖浜涙敹闆嗗櫒騫朵笉鏄兘鐩存帴榪炴帴鍒板洜鐗圭綉錛屼換浣曟椂鍊欓兘鍙兘鏈夋柊鐨勬暟鎹敹闆嗗櫒榪炴帴涓婃潵鎴栬劚寮榪? 鎺ャ傚湪榪欎釜欏圭洰涓紝鍙備笌榪涙潵鐨勬敹闆嗗櫒鐨勭‘鍒囨暟閲忕粡甯稿湪鍙樺寲錛涙暟鎹垎鏋愬拰澶勭悊鍩轟簬鍖哄煙騫沖潎鍊箋?

寮濮嬫椂鍙湁 10 涓泦涓櫒銆傛瘡涓泦涓櫒鐩戣鏉ヨ嚜璁稿涓敹闆嗗櫒鐨勬暟鎹紝榪欎簺鏁版嵁琚疄鏃舵彁渚涚粰鍏崇郴鏁版嵁搴撱傞殢鍚庯紝鏉ヨ嚜鍏崇郴鏁版嵁搴撶殑鏁版嵁琚彁渚涚粰榪愯姘旇薄鍒嗘瀽鍜岄嫻嬬殑浠跨湡妯″瀷鐨? 瓚呯駭璁$畻鏈哄茍鐢卞畠澶勭悊銆傞泦涓櫒鐨勬暟閲忓拰浣嶇疆浼氬彂鐢熷彉鍖栵紝浣嗗畠浠殑琛屼負鍒欏ぇ澶氭洿紼沖畾銆備竴鏃﹀畨瑁呭悗錛岄泦涓櫒灝變細淇濇寔榪愯漿錛岄櫎闈炵鍒扮郴緇熷け鏁堛?

鎴戜滑蹇呴』瑙e喅鐨勯棶棰橈細鎴戜滑鐨勭郴緇熷浣曡兘澶熸寔緇繍杞紝騫惰兘鑰冭檻鍒板湪鍑犱箮涓嶅獎鍝嶆暣浣撴ц兘鐨勬潯浠朵笅錛屽厑璁稿姩鎬佹坊鍔犳垨闄ゅ幓鏀墮泦鍣ㄥ拰闆嗕腑鍣ㄣ?br>
鍒濆鍒嗘瀽錛氱壒瀹氱綉緇滅殑澶嶆潅鎬?br>緋? 緇熶腑鐨勬煇浜涙敹闆嗗櫒鍙洿鎺ヨ闂洜鐗圭綉錛涘叾瀹冪殑閫氳繃鏃犵嚎鐢?shù)浼犺緭鎶鏈繘琛岃繛鎺ワ紝瀹冧滑澶勫湪鎭跺姡鐨勫閮ㄧ幆澧冧腑銆備簨瀹炰笂錛屽湪榪欎簺鍩轟簬鏃犵嚎鐢電殑鏀墮泦鍣ㄤ腑錛岃澶氶兘琚璁℃垚 浜嗚妭鑳界殑錛屼互寤墮暱鐢墊睜瀵垮懡錛涙敹闆嗗櫒鐨勬湁鏁堣寖鍥翠粎澶熶笌涓嬩竴涓渶榪戠殑鏀墮泦鍣ㄦ垨鍩虹珯鑱旂郴銆傝繖浜涙敹闆嗗櫒涓澶氶兘涓嶆敮鎸? TCP/IP錛岃屾槸浣跨敤鍩烘湰鐨勫垎緇勬棤綰挎妧鏈備竴浜涙洿鐙珛鐨勬敹闆嗗櫒浠呬粎闈犲叾澶槼鑳界數(shù)姹犳澘鑾峰緱鑳介噺錛屽茍浣跨敤鍗槦浼犺緭榪涜閫氫俊銆傝繕鏈夊彟澶栦竴浜涙敹闆嗗櫒鍒欒繛鎺ュ埌鏍囧噯 铚傜獫鐢?shù)璇濅笂锛岀?SMS錛坰hort message service錛岀煭娑堟伅鏈嶅姟錛夋秷鎭紶閫掓潵鍙戦佹秷鎭?

鍦ㄩ」鐩殑鏁翠釜鐢熷懡鍛ㄦ湡涓紝 鍙敤鐨勬敹闆嗗櫒鐨勬暟閲忎細鍙戠敓鍙樺寲錛涘湪欏圭洰寮濮嬫椂錛屾垜浠棤娉曢嫻嬪皢浼氭瀯寤哄埌鏈潵鏀墮泦鍣ㄤ腑鐨勮繛鎺ョ被鍨嬶紝涔熸棤娉曢嫻嬫敹闆嗗櫒灝嗕嬌鐢ㄧ殑鎶鏈備緥濡傦紝鍦ㄩ」鐩殑鏌愪釜闃舵錛? 鍦ㄤ竴涓秴綰ц綆楁満緹ら泦鍐呬嬌鐢ㄨ蔣浠朵豢鐪熸潵浠跨湡鏁伴噺宸ㄥぇ鐨勬敹闆嗗櫒銆傛垜浠殑瑙e喅鏂規(guī)蹇呴』鑳介傚簲鎵鏈夋敹闆嗗櫒錛屼笉綆℃槸鐪熸鐨勮繕鏄豢鐪熺殑錛岀幇鍦ㄧ殑榪樻槸灝嗘潵鐨勩?

瑙e喅鏂規(guī)錛氬茍鍒楋紙Juxtaposition錛?br>鍥?1 鏄劇ず鐢ㄦ潵瑙e喅榪欎釜闂鐨勯珮灞傛璁捐銆?

鍥?1. 瑙e喅鏁版嵁鏀墮泦闂

image璇? 娉ㄦ剰錛屽茍鍒?P2P 緗戠粶鐢ㄦ潵閫傚簲緗戠粶鐨勫縐嶄笉鍚屾儏鍐碉紝鑰岄泦涓櫒鎻愪緵 P2P 緗戠粶鍜屼紶緇熺殑瀹㈡埛鏈猴紡鏈嶅姟鍣ㄧ綉緇滀箣闂寸殑榪炴帴錛屾暟鎹簱鏈嶅姟鍣ㄥ拰瓚呯駭璁$畻鏈洪┗鐣欏湪瀹㈡埛鏈猴紡鏈嶅姟鍣ㄧ綉緇溿傞泦涓櫒鍏呭綋涓や釜緗戠粶涔嬮棿鐨勭綉妗?鈥?姣忎釜闆嗕腑鍣ㄥ湪 P2P 緗戠粶涓婂叿鏈夊姩鎬佺壒鎬э紝鍦ㄥ鎴鋒満錛忔湇鍔″櫒緗戠粶鍏鋒湁闈欐佺壒鎬с?

榪欎釜浣撶郴緇撴瀯鍙嶆槧浜?Jxta 瀵逛紶緇熺郴緇熺殑琛ュ厖浣滅敤鍜屾彁渚涘茍琛屼簬榪欎簺浼犵粺緋葷粺鐨勫鍊肩殑鑳藉姏 鈥?閫氳繃騫跺垪錛坖uxtaposition錛夛紝Jxta 鐨勫悕縐板氨婧愪簬榪欎釜璇嶈銆?

鎴戜滑涓嶆兂娣卞叆璁ㄨ榪欓噷鐨勫鎴鋒満錛忔湇鍔″櫒緗戠粶鐨勭粏鑺傦紝鍥犱負鍏朵腑騫舵病鏈変粈涔堢嫭鐗逛箣澶勶紱鎴戜滑鐢氳嚦鍙互浣跨敤 VPN 鎶鏈湪鍥犵壒緗戜笂榪愯瀹冦傛湁瓚g殑閮ㄥ垎鍦?P2P 緗戠粶銆傚浘 2 鏄劇ず浜嗗畠鐨勭粍鎴愶紝瀹冨彲闅忓皢鏉ョ殑鍙樺寲鑰屽彉鍖栥傝娉ㄦ剰鍏朵腑鐢ㄥ埌鐨勫縐嶄笉鍚屾妧鏈?

鍥?2. 鏁版嵁鏀墮泦鍣ㄧ綉緇滅殑緇勬垚


image鍦ㄥ疄鐜拌繖涓?P2P 緗戠粶鏃訛紝鎴戜滑鍙互鍒╃敤 Jxta錛屼粠鑰岃幏寰椾互涓嬩紭鐐癸細

瀹規(guī)槗鍦版坊鍔犳垨闄ゅ幓鏂扮殑鏀墮泦鍣ㄦ垨闆嗕腑鍣紝榪欏緱鐩婁簬 Jxta 鐨勭粺涓鍒嗘暎瀵誨潃


璁捐綆鍗曟э紝榪欏緱鐩婁簬 Jxta 鐨勭綉緇滆櫄鎷熷寲


鎸佺畫榪愯漿錛岃繖寰楃泭浜?Jxta 鏀寔鏁呴殰寮規(guī)?br>

鍏嶇淮鎶よ繍杞紝榪欏緱鐩婁簬 Jxta 鏀寔鍔ㄦ佽嚜鎴戠粍緇囩綉緇?br>

鏀寔璺ㄨ秺璁稿紜歡騫沖彴鍜岀紪紼嬭璦鐨勫縐嶄笉鍚屽疄鐜幫紝鏀寔鎵鐢ㄧ殑鍚勭涓嶅悓閫氫俊鍗忚
璁╂垜浠潵鏇磋緇嗗湴鐮旂┒涓涓嬪叾涓嚑涓泭澶勶紝騫剁湅鐪?Jxta 濡備綍涓轟綋緋葷粨鏋勭殑鍚勪釜鏂歸潰浣滃嚭鐙壒鐨勮礎鐚?br>
緇熶竴鍒嗘暎瀵誨潃
緇熶竴鍒嗘暎瀵誨潃鐨勫瓧闈㈡剰鎬濇槸錛屽絳夋満鍙互涓鴻嚜宸辯敓鎴愪竴涓?ID 騫剁珛鍗沖姞鍏ュ埌緗戠粶錛岃屼笉蹇呬笌浠諱綍娉ㄥ唽浜烘垨涓ぎ璁よ瘉鏈烘瀯鑱旂郴錛岃屽綋浠婄殑 DNS 鍒欏繀欏昏繖鏍楓傝繖涓鐗瑰緛浣挎垜浠換浣曟椂鍊欓兘鍙互鍚戠綉緇滄坊鍔犳敹闆嗗櫒鍜岄泦涓櫒銆?

鍦? 鏈枃闄勫甫鐨勪唬鐮佸寘涓紙鎮(zhèn)ㄥ彲浠ヤ粠鍙傝冭祫鏂欎笅杞藉畠錛夛紝鎴戜滑鎻愪緵浜嗗悕涓?mdidgen 鐨勫疄鐢ㄧ▼搴忥紝瀹冨彲浠ョ敤鏉ヤ負鏂扮殑 Jxta 鏈嶅姟鍜岀閬撶敓鎴愬湴鍧銆傦紙瑕佹洿澶氫簡瑙?mdidgen錛岃鍙傞槄鏃佹敞 mdidgen 瀹炵敤紼嬪簭銆傦級鎮(zhèn)ㄥ彲浠ラ槄璇繪湰緋誨垪鐨勭涓綃囨枃绔狅紝浜嗚В Jxta ID 鏄浣曠敤鏉ュ Jxta 瀵硅薄錛堜緥濡傦細瀵圭瓑鏈恒佸絳夌粍銆佹湇鍔″拰綆¢亾錛夎繘琛岀粺涓瀵誨潃鐨勩?

璇鋒敞鎰忥紝Jxta 緗戠粶涓殑瀵圭瓑鏈轟笉涓瀹氳鏈変竴涓嫭绔嬬殑鐗╃悊瀛樺湪銆傚湪鎴戜滑鐨勭ず渚嬩腑錛屾垜浠敤涓涓秴綰ц綆楁満緹ら泦鏉ヤ豢鐪熸暟閲忓法澶х殑鏀墮泦鍣紝姣忎釜鏀墮泦鍣ㄦ湁瀹冭嚜宸辯殑緇熶竴鍦板潃銆傝繖浜涗豢 鐪熸敹闆嗗櫒鐨勬瘡涓涓湪 P2P 緗戠粶鐨勫叾瀹冮儴鍒嗙湅鏉ラ兘鏄竴涓笌閭d簺鍏鋒湁鐗╃悊瀛樺湪鐨勫絳夋満娌℃湁浠涔堝樊鍒殑瀵圭瓑鏈恒?

緗戠粶铏氭嫙鍖?br>閫氳繃鍒嗘暎瀵誨潃涓烘墍鏈夋敹闆嗗櫒鍜岄泦涓櫒璧嬩簣緗戠粶涓敮涓鐨勬爣璇嗗悗錛屽畠浠珛鍗沖氨鎴愪負緗戠粶涓殑瀵圭瓑鏈哄茍寮濮嬪郊姝ら氫俊銆傚敖綆″畠浠彲鑳介氳繃璁稿縐嶄笉鍚岀殑娑堟伅浼犻掓満鍒惰繘琛岀浉浜掕仈緋伙紝浣嗗湪 Jxta 綰у埆涓婏紝瀹冧滑閮藉彧鏄竴涓櫄鎷熺綉鐘剁綉緇滀腑鐨勮妭鐐癸紝濡傚浘 3 鎵紺恒?

鍥?3. 緗戠粶铏氭嫙鍖?br>

image璇? 娉ㄦ剰錛屽皢鏀墮泦鍣ㄥ拰瀵圭瓑鏈哄疄闄呯浉浜掕繛鎺ヨ搗鏉ョ殑鎵鏈変笉鍚岀殑浼犺緭鍜屽鍧妯″紡閮借铏氭嫙鍖栦簡錛屽彧鐣欎笅涓涓綉鐘剁綉緇滐紝鍏朵腑鐨勬瘡涓絳夋満閮戒笌鍏跺畠姣忎竴涓絳夋満鐩歌繛鎺ャ? Jxta 閫氳繃浣跨敤緇熶竴瀵誨潃妯″紡鍜屾瀬榪熺粦瀹氾紙very late binding錛夛紝鍦ㄥ涓鐐瑰崗璁笂娣誨姞涓涓櫤鑳芥秷鎭礬鐢卞眰鍋氬埌榪欎竴鐐廣備粠鏈川涓婅錛屾瘡涓涓鐐瑰崗璁垨浼犺緭鍗忚鏍堥兘鎴愪負铏氭嫙 Jxta 緗戠粶鐨勪竴涓┍鍔ㄧ▼搴忥紝灝嗚櫄鎷熺綉緇滄槧灝勫埌鐗╃悊緗戠粶涓娿傚浘 4 鏄劇ず浜嗚繖縐嶈緗?

鍥?4. 绔偣鍗忚浣滀負椹卞姩紼嬪簭


image閫? 淇″崗璁鎴愪負鍚堟牸鐨勭鐐瑰崗璁紝鍙渶瑕佸畠鑳藉鍦ㄤ袱涓墿鐞嗚妭鐐逛箣闂村彂閫佹垨鎺ユ敹 XML 娑堟伅銆傚浼犺緭鍙潬鎬ф垨娑堟伅騫挎挱鏀寔娌℃湁浠涔堣姹傘傚洜鑰岋紝鏈綆鍗曠殑鍒嗙粍鏃犵嚎鍗忚涔熷彲浠ョ敤浣滅鐐瑰崗璁┍鍔ㄧ▼搴忥紝涓庡儚 TCP/IP 榪欐牱鐨勫鏉傚灞傚崗璁茍鍒椼傝繖涔熻В閲婁簡涓轟粈涔?HTTP 鍜?TCP/IP 鍦?Jxta 鍗忚鏍堝唴閮芥槸鍚屼竴綰у埆鐨勭鐐瑰崗璁紝灝界瀹冧滑鐨勭墿鐞嗙駭鍒潪甯鎬笉鍚屻侶TTP 鏄竴涓彈鏀寔鐨勭鐐瑰崗璁紝鍥犱負鍙鏈夊繀瑕侊紝瀹冨氨鑳藉絀胯秺灝藉彲鑳藉鐨勯槻鐏錛屼粠鑰岃幏鍙栦粠涓涓?Jxta 瀵圭瓑鏈轟紶閫佸埌鍙︿竴涓殑娑堟伅銆?

Jxta 緗戠粶涓殑姣忎釜瀵圭瓑鏈哄彲浠ュ悓鏃舵敮鎸佸涓鐐瑰崗璁紝Jxta 铏氭嫙緗戠粶鏈哄埗浼氫互涓縐嶅敖鍙兘榪熺殑鏂瑰紡灝嗚櫄鎷熷寲鐨勭粺涓緗戠粶鍦板潃鏄犲皠鍒扮墿鐞嗙綉緇滃湴鍧錛堝湪 Jxta 涓О涓虹綉緇滅鐐癸級銆備粠鏈川涓婅錛屼竴涓絳夋満瀵瑰簲浜庝竴緇勭墿鐞嗙鐐癸紝鍏朵腑鐨勬瘡涓墿鐞嗙鐐瑰彲浠ュ湪瀹屽叏涓嶅悓鐨勭墿鐞嗛氫俊鍗忚涓婂疄鐜般傝緝楂樼駭鍒殑铏氭嫙鍖栧拰璺敱鏈嶅姟闅愯棌 浜嗚繖涓鐐廣傝澶氫漢鎴栬鑳界湅鍑鴻繖灝辨槸澶氬崗璁礬鐢卞櫒鐨勪竴涓潪甯擱珮綰х殑褰㈠紡 鈥? 姝f槸榪欑浉鍚岀殑璁懼浣垮綋浠婄殑鍥犵壒緗戞垚涓虹幇瀹炪傝繖涓姒傚康鐨勫彂灞曞皢鎶婃垜浠甫鍚戜竴涓洿鍔犳櫘閬嶇殑鍥犵壒緗戯紝榪欐槸鍐嶈嚜鐒朵笉榪囩殑浜嗐?

璁╂垜浠洿璇︾粏鍦扮爺絀朵竴涓嬪浘 5 鎵紺虹殑紺轟緥銆傚絳夋満 A 鏄綉緇滀腑鐨勪竴涓敹闆嗗櫒錛屽畠璇曞浘閫氳繃涓緋誨垪涓粙鏀墮泦鍣紙瀵圭瓑鏈?B銆丆 鍜?D錛夊皢鍏舵暟鎹彂閫佸埌闆嗕腑鍣紙瀵圭瓑鏈?E錛夈傚湪鍥句腑姣忎釜瀵圭瓑鏈虹殑涓嬮潰鏄瀵圭瓑鏈烘墍鏀寔鐨勪竴緇勫崗璁?

鍥?5. Jxta 璺敱紺轟緥


image鍥犱負瀵圭瓑鏈?A 涓嶇洿鎺ヨ繛鎺ュ埌瀵圭瓑鏈?E錛屾墍浠ュ畠鐨勬秷鎭繀欏婚氳繃涓粙瀵圭瓑鏈?B銆丆 鍜?D 榪涜璺敱銆侸xta 灝嗚嚜鍔ㄥ娑堟伅榪涜璺敱錛?

浣跨敤 TCP/IP 浠庡絳夋満 A 鍒板絳夋満 B


浣跨敤鍒嗙粍鏃犵嚎鍗忚浠庡絳夋満 B 鍒板絳夋満 C


浣跨敤 SMS 浠庡絳夋満 C 鍒板絳夋満 D


浣跨敤 HTTP 浠庡絳夋満 D 鍒板絳夋満 E
瀵? 絳夋満 E 灝嗗湪瀹冨垱寤虹殑綆¢亾涓婃帴鏀舵潵鑷絳夋満 A 鐨勬秷鎭紝瀹屽叏鏈瀵?Jxta 涓哄畠鎵鎵ц鐨勫鏉傚伐浣溿傝娉ㄦ剰錛屽絳夋満 C 鍒板絳夋満 D 鐨勮礬寰勬槸闈炲縐扮殑錛汮xta 灝辨槸涓撻棬璁捐鏉ュ鐞嗚繖縐嶇姸鍐電殑銆傚鏋滄湁鏉℃秷鎭浠庡絳夋満 E 鍙戦佸洖瀵圭瓑鏈?A錛屽垯 Jxta 灝嗕嬌鐢ㄦ嫧鍙瘋皟鍒惰В璋冨櫒 PPP 鑷姩鍦頒粠瀵圭瓑鏈?D 璺敱鍒板絳夋満 C銆?

鏁呴殰寮規(guī)?br>灝界涓婇潰鎵鎻忚堪鐨勮礬鐢卞姛鑳藉凡緇忎護浜洪潪甯告儕濂囷紝浣嗘洿涓洪噸瑕佺殑鏄紝 Jxta 蹇呴』鑳藉閫傚悎 P2P 緗戠粶涓嶆柇鍙樺寲鐨勬嫇鎵戠粨鏋勩傜壒鍒槸瀹冨繀欏昏兘澶熷鐞嗗厖褰撴秷鎭礬鐢變唬鐞嗙殑 P2P 瀵圭瓑鏈轟笌鐢熶勘鏉ョ殑涓嶅彲闈犳с傚湪鎴戜滑鐨勪緥瀛愪腑錛屽鏋滀腑緇ф敹闆嗗櫒涓嶅彲鐢紝閭d箞錛屼緷璧栧彟涓涓敹闆嗗櫒鏉ヨ礬鐢卞畠鐨勬秷鎭殑鏀墮泦鍣ㄥ皢涓嶈兘榪涜閫氫俊銆?

褰? 鏈夊絳夋満鍔犲叆鎴栫寮緗戠粶鏃訛紝Jxta 瑕佽兘澶熷疄鏃跺娑堟伅榪涜閲嶈礬鐢便傚啀鑰冭檻涓涓嬪浘 5 涓殑璺敱紺轟緥銆傝璁炬兂涓涓嬶紝鐢變簬鏌愪簺鍘熷洜錛屽氨鍦ㄥ絳夋満 A 宸茬粡鍙戦佸嚭娑堟伅錛堢幇鍦ㄦ鍦ㄤ紶杈擄級鑰屽皻鏈埌杈懼絳夋満 C 鏃訛紝瀵圭瓑鏈?C 鍜屽絳夋満 D 涔嬮棿鐨勫崼鏄熼摼璺嵈鏂簡銆侸xta 蹇呴』鑳藉鍔ㄦ佸湴閫氳繃鏌愪簺鏇夸唬璺緞錛堝彲鑳芥槸閫氳繃鍙︿竴緇勪腑闂磋妭鐐癸級灝嗚娑堟伅閲嶈礬鐢卞埌瀵圭瓑鏈? E銆傝繖縐嶅姩鎬侀噸璺敱鏄熀浜庢渶澶у姫鍔涳紙best-effort錛夊畬鎴愮殑錛涘伓鑰屾湁榪欐牱鐨勬儏鍐碉紝濡傛灉娌℃湁鍙兘鐨勮礬鐢憋紙闄ら潪涓粙浼犺緭鏀寔鎸佷箙闃熷垪錛夛紝鍒欐秷鎭彲鑳戒細 琚涪澶便傜敱浜庤繖縐嶉噸璺敱鑳藉鏀規(guī)崲瀹為檯鐢ㄦ潵鍒拌揪瀵圭瓑鏈?E 鐨勭鐐瑰崗璁紙渚嬪錛氫粠 HTTP 鍒? TCP/IP錛夛紝鎵浠ワ紝瑕佷竴鐩磋揪鍒拌礬鐢辯殑鏈鍚庝竴涓煩鏁版椂錛屽絳夋満鍒扮墿鐞嗙鐐圭殑緇戝畾鎵嶄細鍙戠敓銆傝繖灝辨槸 Jxta 鐨勬瀬榪熺粦瀹氱殑鏈川銆?

鍦ㄥ絳夌粍綰у埆涓婏紙璇峰弬闃呮湰緋誨垪鐨勭涓綃囨枃绔犱簡瑙f湁鍏沖絳夌粍鐨勬洿澶氱煡璇嗭級錛孞xta 閫氳繃鏀寔瀵圭瓑緇勬湇鍔?鈥?鍦ㄥ絳夌粍鍐呮繪槸鍙敤鐨勩佸啑浣欏湴瀹炵幇鐨勬湇鍔?鈥?鏀寔鏁呴殰寮規(guī)с?

鍔ㄦ佽嚜鎴戠粍緇囩綉緇?br>褰撳叿鏈夌粺涓铏氭嫙緗戠粶 ID 鐨勫絳夋満鎻掑叆鍒?Jxta 緗戠粶涓椂錛屽畠蹇呴』榪欐牱鏉ヨ嚜鎴戝紩瀵鹼細

瀹氫綅鏈湴瀵圭瓑鏈哄茍鍙戠幇瀹冧滑鐨勫姛鑳?br>

鍙戠幇鍙敤鐨勫絳夌粍騫跺姞鍏ュ叾涓竴涓?br>

鍙戠幇瀵圭瓑緇勪腑鍙敤鐨勬湇鍔″茍寮濮嬩嬌鐢ㄥ畠浠?br>鎴? 浠粠鏈郴鍒楃殑絎簩綃囨枃绔犱腑浜嗚В鍒幫紝榪欎竴鍒囬兘鏄湪娑堟伅綰у埆涓婇氳繃鍙戝竷銆佷腑緇с佷腑浠嬮珮閫熺紦瀛樺拰鎼滅儲縐頒負騫垮憡鐨勪笉鍚岀被鍨嬬殑娑堟伅瀹屾垚鐨勩侸xta 鐨?Java 鍙傝冨疄鐜版湁涓涓В鏋愬櫒鍜屼嬌鍙戝竷-楂橀熺紦瀛?鎼滅儲錛坧ublish-cache-search錛夎繃紼嬬畝渚跨殑闆嗕腑鏈嶅姟灞傘?

Jxta 涓殑瀵圭瓑緇勭殑浣滅敤鏄綔涓虹綉緇滃垎鍖猴紙network-partitioning錛夋満鍒訛紝紜繚騫垮憡鍙涓戶鍒拌兘澶熶嬌鐢ㄨ繖浜涘箍鍛婄殑緇勬垚鍛樸備笉鍚岀殑瀵圭瓑緇勫彲浠ュ寘鍚絳夋満鍜屽絳夌粍鏈嶅姟鐨勪笉鍚岀粍鍚堬紝鍏呭綋鍔熻兘鎬х殑鎹嗘潫鏈哄埗銆傚絳夌粍涔熷彲浠ヨ搗鍒扮壒瀹氬簲鐢ㄧ▼搴忕殑璁よ瘉鍩熺殑浣滅敤銆?

mdidgen 瀹炵敤紼嬪簭


瀹? 鐢ㄧ被 com.ibm.jxta.mdidgen 鍙互鐢ㄦ潵浠ュ垎鏁f柟寮忎負 Jxta 瀵硅薄鐢熸垚緇熶竴鍦板潃銆傚畠鐢熸垚涓涓柊鐨? ModuleClassID銆佷竴涓浉搴旂殑 ModuleSpecID 鍜屼竴涓笌鏌愪釜緇勶紙鍦ㄥ惎鍔ㄦ椂琚鍙栫殑閰嶇疆鏂囦歡涓寚瀹氾級鍏寵仈鐨勬柊 PipeID銆傛墍鐢熸垚鐨勮繖浜?ID 鏄珛鍗沖彲浠ヤ嬌鐢ㄧ殑 Java 澹版槑褰㈠紡錛屽茍涓旂珛鍗沖彲浠ユ彃鍏ュ埌鎮(zhèn)ㄧ殑浠g爜涓傝繖灝辨槸鎴戜滑涓? ModuleSpecAdvertisement 鍜岄泦涓櫒鏈嶅姟綆¢亾鐢熸垚 ID 鐨勬柟寮忋?br>
璁捐 Jxta 鏈嶅姟鍜?Jxta 瀹㈡埛鏈?br>璁╂垜浠洖鍒版皵璞$珯紺轟緥涓婃潵銆備粠姒傚康涓婅錛岄泦涓櫒瀹炵幇蹇呴』錛?br>
璇誨彇騫跺鐞嗛傚綋鐨勯厤緗枃浠訛紝榪欎釜鏂囦歡鍛婅瘔闆嗕腑鍣ㄥ姞鍏ュ埌鍝釜 Jxta 緇勩傦紙鏍鋒湰浠g爜鍖呬腑鍖呭惈鏈夋垜浠ず渚嬬殑閰嶇疆鏂囦歡銆傦級


鍚姩 Jxta銆?br>

鍔犲叆鍒伴厤緗枃浠舵墍鎸囧畾鐨勭粍銆?br>

榪涜鎼滅儲錛屼互鍒ゆ柇闆嗕腑鍣ㄦ湇鍔$殑鏈嶅姟騫垮憡鏄惁瀛樺湪錛涘鏋滀笉瀛樺湪錛屽氨鍒涘緩涓涓茍鍙戝竷瀹冦?br>

鍒涘緩涓鏉$浉搴斾簬璇ユ湇鍔$殑杈撳叆綆¢亾銆?br>

鍦ㄧ閬撶瓑寰呮潵鑷敹闆嗗櫒鐨勬秷鎭?br>

涓鏃︽秷鎭埌杈撅紝灝卞鐞嗗畠騫跺瓨鍌ㄥ埌 RDBMS 涓?br>

鍥炲埌絎?6 姝ャ?br>榪欎釜閫昏緫鍦?com.ibm.jxta.Concentrator 綾諱腑瀹炵幇銆傛?zhèn)ㄥ彲浠ヤ粠鍙傝冭祫鏂欓儴鍒嗕笅杞借繖涓被鍙婃墍鏈夋潵鑷湰鏂囩殑浠g爜銆?

鏀墮泦鍣ㄥ疄鐜板繀欏伙細

璇誨彇騫跺鐞嗕笂榪伴厤緗枃浠躲?br>

鍚姩 Jxta銆?br>

鍔犲叆鍒伴厤緗枃浠舵墍鎸囧畾鐨勭粍銆?br>

鍙戠幇闆嗕腑鍣ㄦ湇鍔$殑鏈嶅姟騫垮憡錛涘鏋滄湇鍔″箍鍛婁笉鍙敤錛屾垜浠氨鏃犳硶緇х畫銆?br>

浠庢湇鍔″箍鍛婃娊鍙栫閬撲俊鎭?br>

姣忛殧涓孌墊椂闂存敹闆嗘暟鎹?br>

鍒涘緩鍖呭惈鏀墮泦鍣ㄤ綅緗拰鏁版嵁鐨勬秷鎭?br>

閫氳繃綆¢亾灝嗘秷鎭彂閫佸埌闆嗕腑鍣ㄦ湇鍔°?br>

鍥炲埌絎?6 姝ャ?br>涓婅堪閫昏緫鍦?com.ibm.jxta.Collector 綾諱腑瀹炵幇銆?

灝嗗叕鍏變換鍔″垎瑙e埌 DwJxtaPeer 瓚呯被
鏈夊緢澶氫換鍔″鏀墮泦鍣ㄥ拰闆嗕腑鍣ㄨ鑹查兘鏄叕鍏辯殑銆備負浜嗘秷闄や笉蹇呰鐨勪唬鐮侀噸澶嶅茍浣垮皢鏉ョ殑緇存姢鏇寸畝鍗曪紝璁╂垜浠妸榪欎簺鍏叡浠誨姟鍒嗚В鍑烘潵鏀懼叆鍚嶄負 com.ibm.jxta.DWJxtaPeer 鐨勮秴綾匯?

鍏朵腑涓涓叕鍏變換鍔℃槸鎵ц ModuleSpecAdvertisement 鐨勫彂鐜幫紙璇峰弬闃呮梺娉?JXTA 涓殑鏈嶅姟騫垮憡浜嗚В鍏充簬榪欎釜騫垮憡鐨勬洿澶氱煡璇嗭級銆傝繖鐢辨竻鍗?1 涓殑 findModuleSpecAdv() 鏂規(guī)硶鎵ц錛?

娓呭崟 1. findModuleSpecAdv()
protected ModuleSpecAdvertisement findModuleSpecAdv() {
return (ModuleSpecAdvertisement) findAdv("ModuleSpecAdvertisement",
"Name",ModuleSpecName, new ModuleSpecAdvValidator(), false );
}



璇鋒敞鎰忥紝findModuleSpecAdv() 璋冪敤鍙︿竴涓悕涓?findAdv() 鐨勯氱敤鏂規(guī)硶錛屾垜浠敤榪欎釜鏂規(guī)硶鍙戠幇騫垮憡銆俧indAdv() 鐨勫弬鏁版槸錛?

鍙傛暟 鎻忚堪
AdvType 騫垮憡綾誨瀷鐨勫瓧絎︿覆鎻忚堪 鈥?渚嬪錛孭ipeAdvertisement銆?
Attr 鎼滅儲騫垮憡鏃惰鍖歸厤鐨勬爣璁?鈥?渚嬪錛孨ame銆?
Value 涓庢墍鎸囧畾鐨勫睘鎬у尮閰嶇殑鍊箋?
Validator 涓涓疄鐜?FindValidate 鎺ュ彛鐨勫璞°傝繖涓帴鍙f湁涓涓柟娉?checkAdv()錛屽綋鎵懼埌涓鏉″箍鍛婃椂錛岃繖涓柟娉曞氨琚敤鏉ョ珛鍗沖榪欐潯騫垮憡榪涜楠岃瘉銆?
LocalOnly 涓涓竷?yōu)當鏍囧織锛岃〃鏄庤鍙戠幇鏄惁鍙簲鍦ㄦ湰鍦版墽琛屽Q岃繕鏄法緗戠粶鍦ㄨ繙紼嬫墽琛屻?

濡傛竻鍗?2 鎵紺猴紝璇ユ柟娉曠殑絎竴閮ㄥ垎閫氳繃浣跨敤緇勭殑鍙戠幇鏈嶅姟鐨?getLocalAdvertisement() 鏂規(guī)硶錛屼粎鏍規(guī)嵁鏈湴騫垮憡楂橀熺紦瀛樻墽琛屽騫垮憡鐨勫彂鐜般傝娉ㄦ剰瀵?validator.checkAdv() 璋冪敤錛岀敤鏉ュ鎵鎵懼埌鐨勪換浣曞箍鍛婅繘琛岄獙璇併?

娓呭崟 2. findAdv()錛岀 1 閮ㄥ垎
protected Advertisement findAdv(String advType, String attr, String val,
FindValidate validator, boolean localOnly) {
Enumeration enum = null;
System.out.println("Looking for " + advType + ", please wait...");
// First look in the local storage
try {
enum = discovery.getLocalAdvertisements(DiscoveryService.ADV,
attr, val);

} catch (Exception e) {
}



if ((enum != null) && (enum.hasMoreElements())) {
Advertisement adv = null;
while (enum.hasMoreElements()) {
try {
adv = (Advertisement) enum.nextElement();
if( validator.checkAdv(adv))
return adv;
} catch(Exception e) {
continue;
}
} // while
} // if



濡傛灉璇ュ彂鐜版槸鏈湴鐨勶紝鍒欓昏緫灝卞湪榪欓噷鍋滄銆傚惁鍒欙紝鎴戜滑灝卞彂閫佷竴鏉℃煡璇㈠埌緗戠粶錛屾墽琛岃繙紼嬪彂鐜般傚彂鐜版湇鍔″皢鎶婃墍鎵懼埌鐨勪換浣曞箍鍛婇兘瀛樺偍鍒版湰鍦伴珮閫熺紦瀛樸傛垜浠彧瑕佺粰鐐規(guī)椂闂村氨鍙互璁╄繙紼嬪彂鐜板彂鐢熴傚湪娓呭崟 3 涓紝寰幆澶х害鎸佺畫浜嗕簲縐掗挓錛?

娓呭崟 3. findAdv()錛岀 2 閮ㄥ垎
if (localOnly)
return null;

System.out.println(" cannot find it locally, trying remote");
// Now, search remote
discovery.getRemoteAdvertisements(null, DiscoveryService.ADV,
attr, val, 2, null);

// Wait a bit in order to get an answer.
int i=0;
while (true) {
try {
if (i>MAXRETRIES){
System.out.print(".");
break;
}
Thread.sleep(WaitingTime);
i++;
} catch (Exception e) {
}
System.out.println("");



姝ゆ椂錛屽凡鍙戠幇鐨勪換浣曞箍鍛婇兘搴斿彲鍦ㄦ湰鍦伴珮閫熺紦瀛樹腑鎵懼埌銆傚湪娓呭崟 4 涓紝鎴戜滑鍐嶆鎵ц涓涓湰鍦版鏌ャ?

娓呭崟 4. findadv()錛岀 3 閮ㄥ垎
// Look in the local storage again
try {
enum = discovery.getLocalAdvertisements(DiscoveryService.ADV,
attr, val);

if ((enum != null) && (enum.hasMoreElements())) {
Advertisement adv = null;

while (enum.hasMoreElements()) {
try {
adv = (Advertisement) enum.nextElement();
if( validator.checkAdv(adv))
return adv;
} catch(Exception e) {
continue;
}
} // while
}
} catch (Exception e) {
}
}
return null;
}



瓚呯被涓殑鍙︿袱涓叕鍏辨柟娉曠殑鎻忚堪鍦ㄤ笅琛ㄤ腑錛涙?zhèn)ㄥ彲浠ヤ綔湄摼l冧範瀹屾垚瀵瑰畠浠殑鍒嗘瀽銆?

鏂規(guī)硶 鎻忚堪
PublishModuleSpecAdv() 濡傛灉鍙戠幇榪囩▼娌℃湁涓烘湇鍔℃壘鍒扮幇鏈夌殑 ModuleSpecAdvertsiement錛屽垯榪欎釜鏂規(guī)硶琚泦涓櫒璋冪敤銆傝繖涓柟娉曞皢鍒涘緩涓涓湇鍔★紙鏍規(guī)嵁鎴戜滑鎵鐢熸垚鐨勩佸浐瀹氱殑鏈嶅姟 ID錛夈傝繖鏉″箍鍛婂皢鍦ㄦ湰鍦板拰榪滅▼鍙戝竷銆備粎鍦ㄩ泦涓櫒絎竴嬈″惎鍔ㄦ椂錛屽綋閰嶇疆鏀瑰彉鏃訛紝鎴栬呭湪鏈湴楂橀熺紦瀛樿娓呴櫎鍚庯紝鎵嶆湁鍒涘緩騫垮憡鐨勫繀瑕併?
JoinGroupIfExists() 榪欎釜鏂規(guī)硶涓烘敹闆嗗櫒鍜岄泦涓櫒鎵璋冪敤錛涘畠?yōu)疂璇曞姞鍏ュ堫C竴涓凡鍛藉悕鐨勫瓙緇勶紙subgroup錛夛紝榪欎釜瀛愮粍鏄叏灞 NetPeerGroup錛堢己鐪佹儏鍐典笅澶у閮藉湪榪欎釜緇勶級鐨勫瓙錛坈hild錛夌粍銆?

璇風湅涓涓嬫竻鍗?5錛屽畠鏄?DwJxtaPeer 綾葷殑甯告暟澹版槑閮ㄥ垎鐨勪竴閮ㄥ垎錛?

娓呭崟 5. 妯″潡 ID 瀹氫箟
public static final String ClassID =
"urn:jxta:uuid-EE99266A1DE84E3DB34D9CC842EC889105";
public static final String SpecID =
"urn:jxta:uuid-EE99266A1DE84E3DB34D9CC842EC8891B9EB13ECA6FE44DDA112B5F5E357763006";


Jxta 涓殑鏈嶅姟騫垮憡


鏈嶅姟騫垮憡姒傚康鍒嗚В鎴愪竴緇勭浉浜掕仈緋葷殑騫垮憡錛堝叡涓夋潯錛夛細
ModuleClassAdvertiseent
ModuleSpecAdvertisement
MdouleImplAdvertisement

涓轟簡鍑忓皬鍦ㄧ郴緇熶腑寰幆鐨勫箍鍛婄殑澶у皬錛屼篃涓轟簡灝嗘湇鍔$殑閫氱敤綾伙紙渚嬪錛氶摱琛岋級銆佽綾葷殑鐗瑰畾瑙勮寖錛堜緥濡傦細瀛樻鍜屾彁嬈?API錛夊拰璇ユ湇鍔★紙渚嬪錛欰PI 鍩轟簬 Java 鐨勫疄鐜幫級鐨勫疄鐜頒箣闂寸殑鍏崇郴瑙勬牸鍖栵紝榪欐牱鍋氶兘鏄繀瑕佺殑銆?

搴旂敤紼嬪簭鎴?Jxta 鏈嶅姟涓嶅繀浣跨敤鎵鏈夎繖浜涘箍鍛婏紝鍙浣跨敤瀹冩墍闇瑕佺殑灝辮浜嗐傚湪鎴戜滑鐨勭郴緇熶腑錛屾垜浠彧闇瑕丮oduleSpecAdvertisement錛屾垜浠敤瀹冨皢鏈嶅姟榪炲埌綆¢亾涓婏紝騫朵嬌榪欐潯騫垮憡鏄繙紼嬪彲鍙戠幇鐨勩?

ModuleClassID 鍜?ModuleSpecID 鐢?mdidgen 瀹炵敤紼嬪簭鐢熸垚騫朵互紜紪鐮佹柟寮忕疆浜庢ā鍧椾腑錛涘畠浠笌涓涓泦涓櫒鏈嶅姟鐨?ID 鐩稿搴斻傛墍鏈夌殑闆嗕腑鍣ㄩ兘鐭ラ亾榪欎釜鏈嶅姟鐨?ID錛岃屼笖榪欎釜 ID 涓鏃︾敓鎴愬氨涓鐩翠繚鎸佷笉鍙橈紝鎵浠ョ粍涓殑鏀墮泦鍣ㄨ偗瀹氳兘澶熸壘鍒拌繖涓泦涓櫒鏈嶅姟銆傚洜涓虹敓鎴? ModuleSpecID 鏃墮渶瑕?ModuleClassID錛屾墍浠ヨ繖閲屾湁 ModuleClassID銆備負浜嗚交鏉劇敓鎴愯繖浜?ID錛屾垜浠嬌鐢ㄤ竴涓悕涓? AdvCooker 鐨勫簱錛屽畠鏄?W.R. Bauer錛坴asha@jxta.org錛夊垱寤虹殑鍚嶄負 jxta-wire 鐨?Jxta 欏圭洰鐨勪竴閮ㄥ垎銆?

緗戠粶涓繍琛岀殑鎵鏈夐泦涓櫒瀹炰緥灝嗗鍚屼竴涓泦涓櫒瀵圭瓑緇勬湇鍔★紙閫氳繃浣跨敤鐩稿悓鐨?ModuleSpecID 鍜屼睛鍚箍鎾閬撶殑鍚屼竴涓昏緫瀹炰緥錛変綔鍑哄簲絳斻傝繖縐嶅啑浣欏疄鐜板皢紜繚闆嗕腑鍣ㄦ湇鍔″湪瀵圭瓑緇勪腑濮嬬粓鍙敤銆?

闆嗕腑鍣細涓涓?Jxta 瀵圭瓑緇勬湇鍔?br>鎴戜滑鏉ョ湅涓涓?com.ibm.jxta.Concentrator 瀹炵幇銆傛垜浠凡緇忔彁鍒拌繃錛屽畠緇ф壙錛堟墿灞曪級鑷?DwJxtaPeer 綾匯傝繖閲屾槸閫愪釜鏂規(guī)硶鍦板 Concentrator 榪涜鐨勬弿榪幫細

鏂規(guī)硶 鎻忚堪
init() 瀹冨簲璇ユ槸璇ョ被琚皟鐢ㄧ殑絎竴涓柟娉曘傝繖涓柟娉曡皟鐢ㄧ鏈?jxtaInit() 鏂規(guī)硶錛岀劧鍚庡垱寤鴻緭鍏ラ泦涓櫒鏈嶅姟綆¢亾鐨勪竴涓疄渚嬨?
process() 榪欎釜鏂規(guī)硶榪涘叆涓涓棤闄愬驚鐜傚畠鍦ㄨ緭鍏ラ泦涓櫒鏈嶅姟綆¢亾涓婁睛鍚紶鍏ョ殑鏀墮泦鍣ㄦ暟鎹彁浜ゃ傚姣忎竴涓彁浜わ紝瀹冮兘璋冪敤 processData() 瀵規(guī)暟鎹繘琛屽鐞嗐?
findPipeAdv() 榪欎釜鏂規(guī)硶瀵規(guī)湇鍔$閬撳箍鍛婃墽琛屾湰鍦板彂鐜幫紙涔熷氨鏄錛屽畠媯鏌ユ湰鍦伴珮閫熺紦瀛橈級銆?
jxtaInit() 榪欎釜鏂規(guī)硶棣栧厛璇誨彇閰嶇疆鏂囦歡騫惰瀹氭垜浠兂瑕佸姞鍏ュ埌鐨勭粍銆傛帴鐫錛屽畠鍚姩 Jxta 鍜?NetPeerGroup 緗戠粶錛岀劧鍚庤皟鐢ㄨ秴綾葷殑 joinGroupIfExist() 鍔犲叆鍒版寚瀹氱殑緇勩傛帴鐫錛屽鏋滆兘澶燂紝瀹冨氨浠庢湰鍦伴珮閫熺紦瀛樻绱㈡湇鍔$閬撳箍鍛婏紱鍚﹀垯錛屽畠?yōu)畣鍒涘晦Z竴涓柊鐨勬湇鍔$閬撳箍鍛婏紙閫氳繃浣跨敤 createInputPipeAdvIfNotExist()錛夈傛渶鍚庯紝瀹冩墽琛屽彂鐜幫紝鐪嬬湅鏄惁鍙互鎵懼埌 ModuleSpecAdvertisement錛涘鏋滀笉鑳芥壘鍒幫紝瀹冨氨鍒涘緩涓涓茍鍙戝竷瀹冦?
processData() 榪欎釜鏂規(guī)硶鏄崰浣嶇銆傚湪瀹為檯鐨勯」鐩腑錛屽畠?yōu)畣鋴社敤鍚庣瀹㈡堜h満錛忔湇鍔″櫒緗戠粶灝嗘墍鏀墮泦鍒扮殑鏁版嵁鎻愪氦緇?RDBMS錛堝彲鑳戒嬌鐢?JDBC錛夈?
createInputPipeAdvIfNotExist() 榪欎釜鍔╂墜鏂規(guī)硶棣栧厛媯鏌ラ珮閫熺紦瀛橈紝鐪嬬湅鏈嶅姟綆¢亾騫垮憡鏄惁鍙敤銆傚鏋滀笉鍙敤錛屽畠?yōu)畣鍒涘圾櫙ヲq垮憡騫跺皢瀹冨瓨鍌ㄥ埌楂橀熺紦瀛樹腑銆傚湪浠諱竴縐嶆儏鍐典笅閮借繑鍥炴紜殑騫垮憡銆?

闈欐佺被鍨嬪畾涔夊涓嬶細


public static String servicePipeID =
"urn:jxta:uuid-969610EE8945417CA56F9771197EE3965207E4C303154E7EB5878751AE22761804";




榪? 鏄敱 mdidgen 瀹炵敤紼嬪簭鐢熸垚鐨勭閬? ID銆傚畠鏄鏈嶅姟綆¢亾鐨勭粺涓鍦板潃錛岃鎵鏈夐泦涓櫒浣跨敤銆傚畠鏄竴鏉″箍鎾閬擄紝鍥犺屼睛鍚秷鎭殑鎵鏈夐泦涓櫒閮藉簲鎺ユ敹鍒伴偅浜涙潵鑷敹闆嗗櫒鐨勬秷鎭傛敹闆嗗櫒浠庝綔涓? ModuleSpecAdvertisement 鐨勪竴閮ㄥ垎鐨勭閬撳箍鍛婁腑鑾峰緱榪欎釜綆¢亾 ID錛涙敹闆嗗櫒閫氳繃鍙戠幇榪囩▼鎵懼埌璇ュ箍鍛娿?

鏀墮泦鍣細緙栧啓 Jxta 瀹㈡埛鏈洪昏緫鐨勪唬鐮?br>鏈鍚庯紝鎴戜滑鏉ョ湅涓涓?com.ibm.jxta.Collector 綾葷殑鏈湴鏂規(guī)硶銆?

鏂規(guī)硶 鎻忚堪
init() 瀹冨簲璇ユ槸浠庤繖涓被涓皟鐢ㄧ殑絎竴涓柟娉曘傝繖涓柟娉曡皟鐢ㄧ鏈?jxtaInit()錛岀劧鍚庡垱寤虹敤鏉ュ皢鎵鏀墮泦鍒扮殑鏁版嵁鍙戦佸埌闆嗕腑鍣ㄦ湇鍔$殑杈撳嚭綆¢亾銆?
process() 榪欎釜鏂規(guī)硶鏈変竴涓棤闄愬驚鐜紝榪欎釜寰幆棣栧厛璋冪敤 collectData() 鑾峰緱嫻嬮噺鐨勬暟鎹紝鎺ョ潃錛屽垱寤轟竴鏉?Jxta 娑堟伅騫舵部闆嗕腑鍣ㄦ湇鍔$閬撳皢瀹冨彂閫佸埌姝e湪絳夊緟鐨勯泦涓櫒銆傚驚鐜唴姣忔閲囨牱閮藉歡榪熶竴孌靛浐瀹氭椂闂淬?
jxtaInit() 榪欎釜鏂規(guī)硶棣栧厛璇誨彇閰嶇疆鏂囦歡騫跺鎴戜滑鎯寵鍔犲叆鍒扮殑緇勮繘琛岃緗紝鎺ョ潃紜畾鏀墮泦鍣ㄧ殑浣嶇疆銆傛帴鐫錛屽畠鍚姩 Jxta 鍜?NetPeerGroup 緗戠粶錛岀劧鍚庤皟鐢ㄨ秴綾葷殑 joinGroupIfExist() 鍔犲叆鍒版寚瀹氱殑緇勩傛帴鐫錛屽畠鎵ц鍙戠幇錛岀湅鐪嬫槸鍚﹀彲浠ユ壘鍒扮浉搴斾簬浼楁墍鍛ㄧ煡鐨勯泦涓櫒鏈嶅姟鐨? ModuleSpecAdvertisement錛涘鏋滄壘涓嶅埌錛屽垯閫鍑恒備竴鏃︽壘鍒頒簡 ModuleSpecAdvertisment錛屽畠?yōu)灏嗘娊鍙栭泦涓櫒鏈嶅姟绠¢亾骞垮憡迤堜给櫨撳嚭绠¢亾鐨勫垱寰忓仛濂藉噯澶囥?
collectData() 榪欎釜鏂規(guī)硶鏄竴涓崰浣嶇錛岀敤浜庡疄闄呯殑鏁版嵁鏀墮泦銆傚湪瀹為檯鐨勯」鐩腑錛岃繖涓柟娉曞皢璁塊棶鍚勭鏁版嵁杈撳叆閫氶亾錛堝彲鑳戒嬌鐢ㄨ緭鍏ワ紡杈撳嚭绔彛鎴栨湰鏈轟唬鐮侊級騫跺皢鎵鏀墮泦鍒扮殑鏁版嵁榪斿洖緇欒皟鐢ㄨ呫?

瀹為檯榪愯漿 Jxta錛氬湪鎮(zhèn)ㄨ嚜宸辯殑鏈哄櫒涓婃祴璇曡繖涓姩鎬佺綉緇?br>鏈枃闄勫甫鐨勬簮浠g爜鍖呬腑鏈変竴涓究浜庢?zhèn)ㄥ疄楠岀殑鐩綍缁撴瀯銆備笅闈㈢殑鐩綍鍦?code 瀛愮洰褰曚笅錛?

鐩綍 鎻忚堪
lib 鏉ヨ嚜 Jxta 鏍稿績鏈鏂扮ǔ瀹氱増鐨勬墍鏈?jar 鏂囦歡錛岀敤浜?Jxta shell 鐨勬墍鏈?jar 鏂囦歡浠ュ強鏉ヨ嚜 jxta-wire 欏圭洰鐨? jxta-wire.jar 鏂囦歡閮芥斁鍦ㄨ繖閲屻傦紙璇峰弬闃呭弬鑰冭祫鏂欎簡瑙e叧浜?Jxta shell 鍜?jxta-wire 鐨勬洿澶氫俊鎭傦級
src 鍖呭惈鎴戜滑緋葷粺鐨勬簮浠g爜銆?
classes 鍖呭惈鎴戜滑緋葷粺鐨勭紪璇戝ソ鐨勭被鏂囦歡銆?
shell1 絎竴涓疄楠岀洰褰曘傛垜浠皢鍦ㄨ繖涓洰褰曞垱寤轟竴涓甫鏈変竴涓泦涓櫒鐨?shell銆傛垜浠繕灝嗗湪榪欓噷鍏呭垎鑰冩煡 mdidgen 瀹炵敤紼嬪簭銆?
shell2 璁劇疆涓虹綉緇滀腑鐨勭浜屼釜瀵圭瓑鏈恒傝繖灝嗚繍琛屽彟涓涓泦涓櫒銆?
shell3 璁劇疆涓虹綉緇滀腑鐨勭涓変釜瀵圭瓑鏈恒傝繖灝嗚繍琛屼竴涓敹闆嗗櫒銆?

瑕佺紪璇戣繖浜涗唬鐮侊紝鎮(zhèn)ㄩ渶瑕佸畨瑁?JDK 1.3 鎴栨洿鏂扮増鏈傚湪 code 鐩綍鏃訛紝鎵ц MAKEIT.BAT 鎵瑰鐞嗘枃浠躲傝繖灝嗙紪璇戜唬鐮佸茍鍦?classes 鐩綍涓垱寤虹被鏂囦歡銆?

鎺ョ潃錛岃繍琛?MAKEJAR.BAT 鎵瑰鐞嗘枃浠躲傝繖灝嗗垱寤轟竴涓寘鍚墍鏈変唬鐮佺殑 dwjxta.jar 鏂囦歡錛涘皢瀹冩斁鍒?lib 鐩綍錛屼負瀹為獙鍋氬ソ鍑嗗銆?

鐜板湪錛岃鍚姩涓変釜涓嶅悓鐨勫懡浠ょ獥鍙c傚皢瀹冧滑鐨勭洰褰曞垎鍒敼鍒?shell1銆乻hell2 鍜?shell3銆?

鍦?shell1 鐩綍涓紪杈?runshell.bat 鏂囦歡錛屽皢鎮(zhèn)ㄥ湪閰嶇疆鏈熼棿鐢ㄦ潵璁劇疆瀹夊叏鎬х殑鐢ㄦ埛鏍囪瘑鍜屽瘑鐮佸弽鏄犲嚭鏉ワ紙瀵嗙爜蹇呴』鑷沖皯鍏釜瀛楃闀匡級銆傜紪杈?runconc.bat 鍜?mdidgen.bat 鏂囦歡錛屽悓鏍瘋鏈夎繖涓敤鎴鋒爣璇嗗拰瀵嗙爜銆?

浣跨敤 runshell.bat 榪愯榪欎釜 shell錛屽茍鎸変互涓嬫墍紺洪厤緗繖涓絳夋満錛?

瀵圭瓑鏈哄悕錛?node1
浼犺緭錛?TCP/IP 鍚敤錛孒TTP 紱佺敤錛岄変腑浣滀負闆嗕腑鐐癸紝鏃犱腑緇?
鎵鐢?TCP 绔彛錛?9701
瀹夊叏鎬х敤鎴峰悕鍜屽瘑鐮侊細 濡傚湪鎵瑰鐞嗘枃浠朵腑鎵瀹氬埗

鍥犱負鎴戜滑鐨勭郴緇熷亣璁懼凡緇忓垱寤轟簡涓涓敤浜庢搷浣滅殑緇勶紝鎵浠ユ垜浠渶瑕佸湪璇?shell 涓垱寤鴻繖涓粍銆傚湪榪欎釜 shell 涓椂錛屼嬌鐢ㄤ互涓嬪懡浠ゅ垱寤?dwtest 緇勶細


Jxta> myadv = mkadv -g dwtest
Jxta> mygrp = mkpgrp -d myadv dwtest



榪欏皢鍒涘緩鎴戜滑灝嗕嬌鐢ㄧ殑 dwtest 緇勩傛?zhèn)ㄥ彲浠q欐牱鏉ョ‘璁ゅ畠宸茬粡琚垱寤猴細


Jxta>groups
group0: name = dwtest



鐜板湪鎮(zhèn)ㄥ彲浠ラ鍑鴻 shell銆?

鐜板湪錛岃浣跨敤 mdidgen.bat 鏂囦歡璇曢獙緇熶竴鍦板潃錛圛D錛夌殑鍒嗘暎鐢熸垚銆傚綋鎮(zhèn)ㄨ繍琛岃繖涓枃浠舵椂錛屽簲寰楀埌綾諱技榪欐牱鐨勮緭鍑猴細

娓呭崟 6. mdidgen.bat 鐨勮緭鍑?
remote group discovery message sent
group joined successfully
public static final String ClassID =
"urn:jxta:uuid-DCDD418FCC194040AA13A52A334B967105";
public static final String SpecID =
"urn:jxta:uuid-DCDD418FCC194040AA13A52A334B96716C515B975C2941AD9FBC90178B6918A806";
public static final String PipeID =
"urn:jxta:uuid-2184CACA259B42E0A866AEA788A923054C519D304E07415195B0917C81238FD004";



璇鋒敞鎰忔墍鐢熸垚鐨?ModuleClassID銆丮oduleSpecID 鍜?PipeID銆傝繖灝辨槸鎴戜滑鑾峰緱鍦ㄩ泦涓櫒鏈嶅姟鐢ㄥ埌鐨?ID 鐨勫姙娉曘?

閫氳繃鎵ц runconc.bat 鏂囦歡鍚姩闆嗕腑鍣ㄣ傝繖灝嗚鍙?dwConfig 鏂囦歡錛岃繖涓枃浠跺憡璇夐泦涓櫒鍔犲叆鍒?dwtest 緇勩傛?zhèn)ㄧ殑杈撳嚭搴斾笌姝ゆ湁浜涚涙技錛?

娓呭崟 7. 1 鍙烽泦涓櫒錛坮unconc.bat錛夌殑杈撳嚭
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Look for previously created Pipe Adv, create one if not exist
Looking for PipeAdvertisement, please wait...
Previously published pipe advertisement not found, creating a new one.
Locally caching the new pipe advertisement...
Checking to see if MSA previously published...
Looking for ModuleSpecAdvertisement, please wait...
cannot find it locally, trying remote
... MSA not found, need to create it
Creating new MSA
Locally and remotely publish the MSA
Creating pipe for data collection...
pipe created successfully
Waiting for data from collector...



鍒拌繖閲岋紝闆嗕腑鍣ㄥ疄渚嬪氨寤虹珛濂戒簡錛屽茍涓斾負鎺ユ敹鏉ヨ嚜鏀墮泦鍣ㄧ殑鏁版嵁鍋氬ソ浜嗗噯澶囥?

鐜板湪錛屽埌 shell2 鍛戒護紿楀彛涓紪杈?runconc.bat 鏂囦歡錛屽皢鎮(zhèn)ㄧ殑瀹夊叏鎬х敤鎴鋒爣璇嗗拰瀵嗙爜鍙嶆槧鍑烘潵銆傛帴鐫錛屼嬌鐢?runconc.bat 鏂囦歡榪愯闆嗕腑鍣ㄥ疄渚嬨傚湪閰嶇疆榪囩▼涓緗互涓嬪弬鏁幫細

瀵圭瓑鏈哄悕錛?node2
浼犺緭錛?TCP/IP 鍚敤錛孒TTP 紱佺敤錛屾棤闆嗕腑鐐癸紝鏃犱腑緇?
鎵鐢?TCP 绔彛錛?9702
瀹夊叏鎬х敤鎴峰悕鍜屽瘑鐮侊細 濡傚湪鎵瑰鐞嗘枃浠朵腑鎵瀹氬埗

濡傛灉涓鍒囬兘姝g‘榪愯錛屽垯鎮(zhèn)ㄥ簲鐪嬪埌涓庢鐩鎬技鐨勮緭鍑猴細

娓呭崟 8. 2 鍙烽泦涓櫒錛堟潵鑷?Shell2 鐨?runconc.bat 杈撳嚭錛?
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Look for previously created Pipe Adv, create one if not exist
Looking for PipeAdvertisement, please wait...
Checking to see if MSA previously published...
Looking for ModuleSpecAdvertisement, please wait...
.. found previously published MSA
Creating pipe for data collection...
pipe created successfully
Waiting for data from collector...



璇鋒敞鎰忥紝闆嗕腑鍣ㄧ殑 ModuleSpecAdvertisement 琚壘鍒頒簡錛屾墍浠ヨ繖涓泦涓櫒瀹炰緥涓嶅繀鍙﹀鍒涘緩涓涓?ModuleSpecAdvertisement銆傜幇鍦ㄥ畠涔熷湪絳夊緟鏉ヨ嚜鏀墮泦鍣ㄧ殑杈撳叆銆?

鏈 鍚庯紝鍒?shell3 鍛戒護紿楀彛涓紪杈?runcoll.bat 鏂囦歡錛屽皢鎮(zhèn)ㄧ殑瀹夊叏鎬х敤鎴鋒爣璇嗗拰瀵嗙爜鍙嶆槧鍑烘潵銆傛帴鐫錛屼嬌鐢?runcoll.bat 鏂囦歡榪愯鏀墮泦鍣ㄥ疄渚嬨傝繖涓疄渚嬪皢浣跨敤 shell3 鐩綍涓殑 dwColConfig 鏂囦歡錛岃鏂囦歡鍛婅瘔鏀墮泦鍣ㄥ簲鍔犲叆鍒?dwtest 緇勶紝榪欎釜緇勭殑浣嶇疆鏄淭imbuktu North鈥濄傚湪閰嶇疆榪囩▼涓緗互涓嬪弬鏁幫細

瀵圭瓑鏈哄悕錛?node3
浼犺緭錛?TCP/IP 鍚敤錛孒TTP 紱佺敤錛屾棤闆嗕腑鐐癸紝鏃犱腑緇?
鎵鐢?TCP 绔彛錛?9703
瀹夊叏鎬х敤鎴峰悕鍜屽瘑鐮侊細 濡傚湪鎵瑰鐞嗘枃浠朵腑鎵瀹氬埗

榪欎釜鏀墮泦鍣ㄥ疄渚嬪皢寮濮嬫煡鎵?ModuleSpecAdvertisement 騫朵笖搴旇鑳芥壘鍒般傜劧鍚庯紝瀹冨皢鍒涘緩涓鏉$閬撲笌宸茬粡榪愯鐨勯泦涓櫒閫氫俊銆傛?zhèn)ㄥ簲鐪嬪堫C笌姝ょ浉浼肩殑杈撳嚭錛?

娓呭崟 9. 鏀墮泦鍣紙鏉ヨ嚜 Shell3 鐨?runcoll.bat 鐨勮緭鍑猴級
Reading config file, dwColConfig, and processing...
group to join will be dwtest
collector location is Timbuktu North
Starting Jxta...
Joining default NetPeerGroup...
Attempting to join group: dwtest
remote group discovery message sent
group joined successfully
group dwtest joined successfully
Searching for collector's MSA...
Looking for ModuleSpecAdvertisement, please wait...
cannot find it locally, trying remote
.. found collector's MSA
Extracting pipe adv from MSA...
Connecting to concentrator network...
pipe created successfully
... collecting data....
... data collected, sending to concentrator
waiting until next sample...
... collecting data....
... data collected, sending to concentrator
waiting until next sample...



璇鋒敞鎰忥紝鏁版嵁琚敹闆嗚搗鏉ュ茍瀹氭湡鍙戦佸埌闆嗕腑鍣ㄦ湇鍔°傚綋鏁版嵁絀胯繃 P2P 緗戠粶浠ュ強涓や釜闆嗕腑鍣ㄦ帴鏀惰繖浜涙暟鎹茍榪涜澶勭悊鏃訛紝璇鋒敞鎰忚瀵熴?

楂橀毦搴︾殑搴旂敤妯″紡
鎴? 浠殑姘旇薄鏀墮泦紺轟緥璇存槑浜嗚繖鏍蜂竴涓簲鐢ㄦā寮忥細鍦ㄤ竴鑸殑鏂歸潰錛屽畠浣跨敤鏅亶嫻佽鐨勫簲鐢?P2P 緋葷粺錛涗粠鐗瑰畾鐨勬柟闈紝瀹冧嬌鐢? Jxta銆傝繖涓ā寮忓寘鍚袱涓﹀悎鏋佸叾鏉炬暎鐨勭兢浣擄細娑堣垂鑰呭拰鐢熶駭鑰呫傚綋娑堣垂鑰呮兂瑕佺敓浜ц呮墍鐢熶駭鐨勪駭鍝佹椂錛屾秷璐硅呬笉鎰夸綔鍑哄潥瀹氱殑璁歌錛屼篃涓嶆効鍙楅檺浜庣壒瀹氱敓浜? 鑰呫傚湪榪欑鎯蟲硶鑳屽悗鍙兘鏈夊嚑涓幇瀹炲姩鏈恒傛秷璐硅呭彲鑳芥兂錛?

鍙互鍦ㄤ換鎰忔椂闂磋繘琛岄夋嫨錛屼互閫夋嫨鏈浣崇殑鍙敤鐢熶駭鑰?br>

闄嶄綆瀵規(guī)煇涓敓浜ц呯殑鎴愬姛鎴栧け璐ョ殑渚濊禆椋庨櫓


浠庨潪甯稿簽澶х殑鍔ㄦ佺ぞ鍖轟腑閫夋嫨錛岃繖縐嶇ぞ鍖虹殑澶у皬鍜屾嫇鎵戠粨鏋勫湪鐗╃悊涓婃槸闅句簬綆$悊鐨?br>褰? 娑堣垂鑰呯兢浣撳拰鐢熶駭鑰呯兢浣撳嚭鐜頒氦榪椂錛岃繖縐嶆ā寮忓彉寰楀崄鍒嗘湁瓚o紝褰撳墠鍙敤鐨勩佹祦琛岀殑銆佷笘鐣岃寖鍥村唴鐨勬枃浠跺叡浜郴緇熷氨渚嬭瘉浜嗚繖涓鐐廣備笌浼犵粺鐨勮仈緗戞妧鏈笉鍚岋紝P2P 緋葷粺浠庝竴寮濮嬪氨鏄璁℃潵閫傚簲榪欑搴旂敤妯″紡鐨勩傜壒鍒湴錛屼笌浣跨敤浼犵粺鐨勫鎴鋒満錛忔湇鍔″櫒鎶鏈繘琛岃璁℃椂錛屽繀欏繪彁渚涚殑澶嶆潅鐨勮В鍐蟲柟妗堜笉鍚岋紝Jxta 浣垮緱鍒涘緩榪欎簺緋葷粺鏃㈠鏄撳張杞繪澗銆?

瓚呰秺 TCP/IP 鐨勮仈緗?br>涓轟簡鐪熸紿佸嚭 Jxta 甯︽潵鐨勪環(huán)鍊鹼紝鎴戦夋嫨浜嗗叏鐞冩皵璞′俊鎭敹闆嗙郴緇熶綔涓轟竴涓ず渚嬨傜劧鑰岋紝榪欎釜闂鍙婅В鍐蟲柟妗堝叿鏈夎澶氫笟鍔℃ā寮忥紙business scenario錛夌殑鍏稿瀷鐗瑰緛錛岃繖浜涗笟鍔℃儏褰㈠縐誨姩閿鍞槦浼嶈嚜鍔ㄥ寲銆佸晢鍝佽錘鏄撱佸唴瀹瑰垎鍙戝拰浼佷笟鍒頒紒涓氱數(shù)瀛愬晢鍔$瓑絳夛紝鍙互鍒楀嚭寰堝銆傛?zhèn)ㄥ彲浠ュ悓鏃朵娇鐢? P2P 緗戠粶鍜屼紶緇熺殑瀹㈡埛鏈猴紡鏈嶅姟鍣ㄧ綉緇滐紝浠庤屾瀯寤哄ぇ澶ц秴鍑哄綋浠婇潤鎬佽竟鐣岀殑鏂板瀷緗戠粶瑙e喅鏂規(guī)銆傚紑鏀炬簮浠g爜鐨?Jxta 騫沖彴灝嗘槸榪欎簺鏂板瀷瑙e喅鏂規(guī)鐨勫疄鐜板伐鍏楓傛垜甯屾湜鏈郴鍒楀凡緇忔縺璧鋒偍鎺㈢儲 Jxta 鎻愪緵鐨勫彲鑳芥х殑鎰挎湜銆?

from-ibm developer



heart in the world 2006-01-03 20:02 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            女女同性精品视频| 久久精品日产第一区二区| 欧美亚洲网站| 麻豆成人在线播放| 欧美日本成人| 国产欧美在线视频| 久久不射电影网| 国产日韩欧美二区| 久久亚洲精品网站| 国产精品v日韩精品| 亚洲国产日韩在线| 久久激情视频久久| 亚洲一区亚洲二区| 国产精品高潮粉嫩av| 一区二区三区产品免费精品久久75 | 伊人婷婷欧美激情| 亚洲一区二区精品视频| 亚洲国产欧洲综合997久久| 一本高清dvd不卡在线观看| 欧美精品一区二区三区高清aⅴ| 亚洲二区在线视频| 免费在线亚洲| 久久躁日日躁aaaaxxxx| 午夜精品一区二区三区在线播放| 国产精品久久福利| 午夜一级久久| 欧美一区二区三区四区在线观看| 国产精品伊人日日| 欧美在线91| 欧美专区日韩专区| 在线欧美小视频| 欧美大胆成人| 欧美日本网站| 亚洲综合第一| 亚洲欧美日韩中文播放| 国产一区欧美| 欧美成人69av| 欧美精品在线观看91| 亚洲午夜一区二区| 午夜精品免费在线| 在线观看av一区| 国产一区二区三区久久久久久久久| 一区二区三区|亚洲午夜| 一区二区三区三区在线| 国产精品网站在线| 亚洲欧洲av一区二区三区久久| 亚洲尤物精选| 在线欧美不卡| 久久精品视频免费观看| 亚洲精品1区| 亚洲视频在线观看| 亚洲激情在线| 欧美一站二站| 午夜激情久久久| 欧美日韩一级黄| 久久精品在线| 国产亚洲福利| 欧美一区二区免费视频| 久久久夜色精品亚洲| 国产精品久久久久一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 国产精品av免费在线观看| 免费观看不卡av| 国产精品免费观看在线| 亚洲影院免费观看| 久久九九99| 亚洲永久免费av| 美国三级日本三级久久99| 欧美在线播放视频| 欧美日韩国产色视频| 国产亚洲精品高潮| 亚洲美女毛片| 在线看片成人| 欧美精品18| 亚洲精品偷拍| 欧美在线影院| 亚洲一区二区三区欧美 | 国产精品扒开腿做爽爽爽软件| 午夜在线a亚洲v天堂网2018| 国产亚洲精品一区二555| 久久成人精品一区二区三区| 亚洲国产成人不卡| 欧美黄色一级视频| 亚洲韩日在线| 亚洲视频一二| 欧美日韩国产一级| 亚洲啪啪91| 国产亚洲高清视频| 韩国一区二区三区美女美女秀| 国内久久精品| 亚洲精品欧美日韩专区| 亚洲无毛电影| 久久久精品动漫| 欧美ed2k| 在线亚洲欧美视频| 久久精品道一区二区三区| 久久久久高清| 欧美午夜精品一区| 国产欧美精品日韩精品| 亚洲国产成人av在线| 小处雏高清一区二区三区| 欧美福利专区| 久久精品视频导航| 国产女人aaa级久久久级| 99热在线精品观看| 狠狠色狠狠色综合日日91app| 久久婷婷国产麻豆91天堂| 亚洲啪啪91| 亚洲特色特黄| 亚洲欧美春色| 久久久激情视频| 欧美伦理在线观看| 亚洲欧美国产高清| 久久婷婷综合激情| 久久噜噜亚洲综合| 国产精品视频内| 亚洲午夜小视频| 亚洲小少妇裸体bbw| 欧美亚洲一区二区在线观看| 午夜视频精品| 国产欧美视频在线观看| 亚洲欧美日韩在线高清直播| 亚洲欧美美女| 国产精品久久久久久久久果冻传媒 | 一本色道久久加勒比精品| 欧美a级片一区| 欧美高清视频在线观看| 亚洲人成网站在线播| 欧美成人福利视频| 亚洲精品国产精品国自产观看浪潮| 亚洲人成在线影院| 欧美日韩国产成人在线91| 久久婷婷亚洲| 国产综合色精品一区二区三区| 久久九九热re6这里有精品| 亚洲一本大道在线| 亚洲黄色影片| 亚洲茄子视频| 亚洲一区免费在线观看| 午夜精品视频网站| 久久国产一区二区| 欧美一级片久久久久久久| 9人人澡人人爽人人精品| 亚洲视频在线观看网站| 久久精品视频在线| 久久精品一级爱片| 欧美日韩亚洲高清一区二区| 亚洲一区二区三区在线视频| 久久国产精品99精品国产| 国产一区二区三区在线观看视频| 久久免费国产精品1| 亚洲精品在线视频观看| 欧美一区精品| 亚洲精品少妇| 国产一区二区精品久久| 美女日韩在线中文字幕| 日韩午夜av| 久久亚洲欧洲| 亚洲视频狠狠| 羞羞漫画18久久大片| 欧美成人一品| 亚洲欧美视频在线观看| 国外成人性视频| 欧美日本中文字幕| 亚洲综合欧美日韩| 亚洲福利专区| 国产精品久久久久久久久| 99re热这里只有精品视频| 久久综合成人精品亚洲另类欧美| 午夜精彩国产免费不卡不顿大片| 久久一区二区视频| 亚洲国产经典视频| 日韩一本二本av| 欧美电影免费| 一区二区三区av| 国产一区二区三区在线观看视频| 午夜精品久久久久久久白皮肤| 亚洲视频一二| 久久综合九色综合欧美就去吻 | 国产精品jizz在线观看美国| 久久久久国产精品麻豆ai换脸| 国产欧美日韩精品在线| 亚洲在线第一页| 国产午夜精品久久久| 午夜视频久久久| 亚洲高清视频一区| 一区二区三区不卡视频在线观看| 国产日韩欧美综合一区| 免费h精品视频在线播放| 午夜精品三级视频福利| 欧美电影免费观看高清| 99国产精品久久久久老师| 久久影院午夜论| 正在播放亚洲一区| 国产在线精品自拍| 国产精品免费观看在线| 欧美在现视频| 国产日韩精品视频一区| 久久亚洲一区二区| 国产精品视频不卡|