📄 jxtapdptest.txt
字号:
import java.util.Enumeration;
import net.jxta.discovery.*;
import net.jxta.exception.*;
import net.jxta.peergroup.*;
import net.jxta.protocol.*;
public class DiscoveryDemo implements Runnable,DiscoveryListener{
static PeerGroup netPeerGroup=null;
private DiscoveryService discovery;
//start to configure JXTA plat
private void startJxta(){
try{
netPeerGroup=PeerGroupFactory.newNetPeerGroup();
}catch(PeerGroupException e){
//if fail to creat the group,put out the error and terminate the programme
System.out.println("Fatal error:group creation failure");
e.printStackTrace();
System.exit(1);
}
//pick out the Service from Peer Group
discovery =netPeerGroup.getDiscoveryService();
}
//the thread is reapted once every minite until peers are discovered and the result is put out
public void run(){
try{
//add DiscoveryListener for DiscoveryResponse events
discovery.addDiscoveryListener(this);
while(true){
System.out.println("Sending a Discovery Message");
//look for peers ,every peer is allowed to have 5 response
discovery.getRemoteAdvertisements(null,DiscoveryService.PEER,null,null,5);
try{
Thread.sleep(60*1000);
}catch(Exception e){}
}
}catch(Exception e){
e.printStackTrace();
}
}
//to realize DiscoveryListener,wo must define the function to resolve the response message
public void discoveryEvent(DiscoveryEvent ev){
DiscoveryResponseMsg res=ev.getResponse();
String name="unknown";
//get the response adv from Peers
PeerAdvertisement peerAdv=res.getPeerAdvertisement();
//some Peers can't response their PeerAdvertisement
if(peerAdv!=null){
name=peerAdv.getName();
}
System.out.println("Got a Discovery Response["+re.getResponseCount()+"elements]frome peer:"+name);
//put out the dicovered Peer
PeerAdvertisement adv=null;
Enumeration enum=res.getAdvertisement();
if(enum!=null){
while(enum.hasMoreElements()){
adv=(PeerAdvertisement)enum.nextElement();
System.out.println("Peer name="+adv.getName());
}
}
}
static public void main(String args[]){
DiscoveryDemo myapp=new DiscoveryDemo();
myapp.startJxta();
myapp.run();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -