; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/*------------------------------------------- * 以上为循环发现目标组过程,以下为加入过程 * ----------------------------------------*/ // 创建一个对等组通告引用 PeerGroupAdvertisement restoNetAdv = null;
// 检查我们是否找到RestoNet通告。如果没有找到,表示我们可能是第一个试图加入该组的对等体, //或是其他知道RestoNet组的对等体成员已经关闭或不可到达 // 万一出现这种情况,我们必须创建一个RestoNet对等组。 if (ae == null || !ae.hasMoreElements()) {
// 如果该组不在,给出提示信息,创建该组 System.out.println("Could not find the RestoNext peergroup;createing me"); try { // 创建一个新的对等组RestoNet,全能对等组 // 通过NetPeerGroup获得一个一般对等组的通告。 ModuleImplAdvertisement implAdv = netpg.getAllPurposePeerGroupImplAdvertisement();
// 通过NetPeerGroup创建一个新的对等组,JXTA会自行发布该对等组通告, //参数依次为对等组ID,通告,组名,描述 restoNet = netpg.newGroup(mkGroupID(), implAdv, "RestoNet","RestoNet,Inc.");
// 获得一个对等组通告 restoNetAdv = netpg.getPeerGroupAdvertisement(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { // RestoNet通告在缓存内找到意味着我们可以加入这个存在的组。 // 在集合中提取一个对等组通告元素 restoNetAdv = (PeerGroupAdvertisement) ae.nextElement(); try { // 加入该对等组,由于该通告已经发布,JXTA不会再行发布。 restoNet = netpg.newGroup(restoNetAdv); System.out.println("找到RestoNet对等组,并加入存在的该组"); } catch (PeerGroupException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
// 获得RestoNet提供的发现服务和管道服务 disco = restoNet.getDiscoveryService(); pipes = restoNet.getPipeService();
System.out.println("RestoNet Restaurant_(" 上一页 [1] [2] [3] 下一页
|
|