作者
通過之前將近一個月對於JXTA技術的研究
第一步
第二步
第三步
public static void main(String[] args) {
RestoPeer myapp = new RestoPeer(); //此處實例化一個對等體對象
myapp
System
}
public void startJxta() {
try {
加入默認對等組NetPeerGroup
netpg = new NetPeerGroupFactory()
} catch (PeerGroupException e) {
// TODO Auto
e
}
}
此處需要注意的是
第四步
DiscoveryService disco = netpggetDiscoveryService();
此時
第五步
// 加入拍賣組
private void joinRestoNet() {
int count =
System
從NetPeerGroup獲得發現服務
DiscoveryService hdisco = netpg
Enumeration ae = null; // 記錄發現的廣告
// 循環直到我們發現RestoNet對等組或是直到我們達到了試圖預期發現的次數
while (count
try {
// 第一次搜索對等體的本地緩存來查找RestoNet對等組通告
// 通過NetPeerGroup組提供的發現服務發現
ae = hdisco
// 如果發現RestoNet對等組通告
if ((ae != null) && ae
break;
}
// 如果我們沒有在本地找到它
// 參數依次為要查找的對等體ID
// 要發現的通告屬性名稱
hdisco
// 線程暫停一下等待對等體內該發現請求
try {
Thread
} catch (InterruptedException e) {
// TODO Auto
e
}
} catch (IOException e) {
// TODO Auto
e
}
}
/*
* 以上為循環發現目標組過程
*
// 創建一個對等組通告引用
PeerGroupAdvertisement restoNetAdv = null;
// 檢查我們是否找到RestoNet通告
//或是其他知道RestoNet組的對等體成員已經關閉或不可到達
// 萬一出現這種情況
if (ae == null || !ae
// 如果該組不在
System
try {
// 創建一個新的對等組RestoNet
// 通過NetPeerGroup獲得一個一般對等組的通告
ModuleImplAdvertisement implAdv = netpg
// 通過NetPeerGroup創建一個新的對等組
//參數依次為對等組ID
restoNet = netpg
// 獲得一個對等組通告
restoNetAdv = netpg
} catch (Exception e) {
// TODO Auto
e
}
} else {
// RestoNet通告在緩存內找到意味著我們可以加入這個存在的組
// 在集合中提取一個對等組通告元素
restoNetAdv = (PeerGroupAdvertisement) ae
try {
// 加入該對等組
restoNet = netpg
System
} catch (PeerGroupException e) {
// TODO Auto
e
}
}
// 獲得RestoNet提供的發現服務和管道服務
disco = restoNet
pipes = restoNet
System
return;
}
此時
至此
以上為最簡單的構建P
源代碼下載
日前我發表了一篇關於JXTA技術建立P
另外三個包為JXTA類庫
src
lib
lib
lib
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25439.html