之前讲的加入“群”,即对等组。都是不用认证的,只要发现了该“群”,就可以加入“群”。但是这明显是不好的,不管管理上,还是从安全,或者内容上。所以我们要给“群”加上锁,只能让有钥匙的用户进入。
日常方面我们都是使用密码来使用锁匙,在本文我也正是要讲的是使用密码来给“群”上锁,这样,以后有谁想加入该“群”,必须要有该“群”的的钥匙“密码”才行。
在这里本来打算利用一次全写完,可是考虑到,如果把所有内容一次给出,看来麻烦,而且对于理解也不太好。所以会分次给出。在这篇我只想讲讲如何通过身份认证加入“群”的过程。给出部分代码,代码也加上了必要的注释,希望大家可以看明白过程就行。
代码的实现过程,将后续慢慢发出。
在这里只要注意构造方法里程序运行的顺序,就可以看出该过程。
1、启动平台,这是JXTA必要而且是首先运行的。
2、利用netgroup创建一个特定的带有用户名和密码的对等组,也却是我们要创建的目标对等组。
3、通过发现该对等组,利用我们已经知道的用户名和密码,加入对等组。
下面秀出代码:
public class PrivateGroup {
private PeerGroup netpg = null,
spg = null,
dspg=null;
private final static PeerGroupID satellaPID = IDFactory.newPeerGroupID();
private NetworkConfigurator config = null;
public PrivateGroup(){
//启动JXTA平台
netpg = startJxta();
if(null!=netpg){
System.out.println("JXTA平台启动......");
}else{
System.err.println("启动JXTA平台失败:网络对等组为空");
System.exit(-1);//退出系统
}
//定义参数:用户,密码,对等组名称和对等组ID
String login = "PrivatePeerGroups";
String passwd = "RULE";
String groupName = "SatellaGroup";
//创建带密码身份认证的对等组
spg = createPeerGroup(netpg,groupName,login,passwd);
//加入到目标对等组中,即名称为"SatellaGroup"的对等组
if(null != spg){
System.out.println("对等组创建中......");
dspg = discoveryPeerGroup(netpg,satellaPID);//创建对等成功后,然后搜索到该对等组
if(null!=dspg){
System.out.println("对等组搜索中......");
joinPeerGroup(dspg,login,passwd);//加入目标对等组
}
}
System.out.println("加入目标对等组成功......");
}
/**
* 启动平台有多种,在这里我用了我常用的方式,通过配置和getInterface()来得到netpg
* @return
*/
private PeerGroup startJxta() {
PeerGroup group = null;
try {
config = new NetworkConfigurator();
config.setName("LoginName");
config.setPrincipal("peer");
config.setPassword("password");
config.save();
group = new NetPeerGroupFactory().getInterface();
} catch (Exception e) {
System.out.println("启动平台失败");
e.printStackTrace();
System.exit(-1);//退出系统
}
return group;
}
//加入“群”
private void joinPeerGroup(PeerGroup dspg2, String login, String passwd) {
}
//搜索到该“群”
private PeerGroup discoveryPeerGroup(PeerGroup netpg2,
PeerGroupID satellaPID2) {
return null;
}
//创建带有用户名和密码的“群”
private PeerGroup createPeerGroup(PeerGroup netpg2, String groupName,
String login, String passwd) {
return null;
}
}
上面空的方法,会在以后发出。还没学习到这里的同学,也可以自己去通过学习,自己补上。 这样应该你应该发出来,让我学习一下啦。
分享到:
相关推荐
jxta.jar p2p jxta.jar p2p jxta.jar p2p
本书是一本介绍JXTA的书籍。主要内容包括:JXTA简介、JXTAShell使用说明、开发JXTA应用程序实例、JXTA管道及安全等。
精通JXTA 本书是一本介绍JXTA的书籍。主要内容包括:JXTA简介、JXTAShell使用说明、开发JXTA应用程序实例、JXTA管道及安全等。
JXTA目前的版本已经是2.5了,同以前的2.0、2.1之类的差别非常大,因此网络上2002年以前的文章,除了是阐述JXTA技术的概念类的文章可以学习外,具体开发类的就没有多大价值。 现将2.0版本和2.5版本同时上传,供大家...
Mastering JXTA 书中的源代码,可以学习如何使用JXTA编程。对初学者很有帮助。
jxta运行环境所需要的所有jar包 /files/JXTA_Demo/lib/jxta.jar /files/JXTA_Demo/lib/beepcore.jar /files/JXTA_Demo/lib/cryptix-asn1.jar /files/JXTA_Demo/lib/cryptix32.jar /files/JXTA_Demo/lib/jxtaptls.jar...
jxta2.2 开发文档
这是用JXTA开发P2P程序必须用到的组件。是从jxta.org上面下载来的,已经杀毒
JXTA\jxta-lib-2.4.1.zip 用来开发p2p应用程序的。
JXTA 2.7,P2P分布式计算框架JXTA。version 2.7。shell 2.5.
jxta的一些经典程序
资源名称:JXTA-Java P2P网络编程技术内容简介:JXTA是美国Sun公司在Java领域里推出的新技术,目的是为P2P(Peer-to-Peer)的网络应用开发提供一个统一的平台。而且为了鼓励和支持该技术的发展,JXTA项目采用了开放...
一个基于P2P框架的Jxta开发的聊天器
这是用JXTA开发P2P程序必须用到的组件。是从jxta.org上面下载来的,已经杀毒
Jxta,java的P2P开发教程,了解Jxta技术的核心部分
了解jxta的六层核心协议
远程教学 P2P jxta java 远程教学 源代码 jxta远程教学p2p技术,一个很好的P2P例子
chm格式的最新的JXTA2.5 API帮助文档
jxta shell 是体验jxta 的最好利器