你的位置:首页 > Java教程

[Java教程]向peersim开火!P2P开火!(安装和样例运行)


根据导师的要求,这次的任务是要模拟一个类似BT网络的P2P网络,并实现一些算法,查了些资料,都说NS2对于P2P网络的模拟不好,基本没有模本可以用,而且效率很低,只能模拟几万个节点左右,看到挺多人推荐使用peersim,就准备下来用用看。而且在官网上看到已经有很多别人编译好的覆盖网络的模本,其中也包括BT网络,chord网络等,貌似很方便的样子。

首先是下载使用安装,这部分其实很简单,网上的教程足够了。

安装步骤:
1. 首先安装JDK,配置好环境变量,以本机为例子:
新建JAVA_HOME: C:\Program Files\Java\jdk1.6.0_26
新建CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
Path后面加上: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
 
2. 下载并解压PeerSim
下载地址:http://peersim.sourceforge.net/#download
3. 运行PeerSim里的例子
方法一:在dos窗口下运行
1)开始 --> 运行 --> cmd --> 进入到本机peersim文件夹下
2)输入以下命令:
java -cp peersim-1.0.5.jar;jep-2.3.0.jar;djep-1.0.0.jar peersim.Simulator example/config-example1.txt    
 
方法二:在eclipse中运行
1)新建项目,并导入peersim文件夹里的四个jar包,同时导入Simulator.java文件:
a. 右击jar目录 -> Build Path -> configure build path -> Add External Jars
b. 在src下新建一个package,导入Simulator.java

然后配置运行参数

选择 Run—> Run Configuration

双击Java Application,会出现New_configuration的界面

在右侧的“Main” 面板中设置main class为peersim.Simulator:

然后点击“Argument”面板,设置 “Program arguments” 为 config-example1.txt 所在的位置,注意要加双引号:

最后运行即可,得到的结果和在cmd上运行一样

Chord等协议的模拟:

a.       需要从官方网站http://sourceforge.net/projects/chord/?source=dlp上下载对应的Chord和Pastry协议的压缩包

b.       解压

c.       将chord源码生成.jar,命名为chord.jar,放在chord目录下

d.       从peersim-1.0.5.jar中将peersim-1.0.5、jar:jep-2.3.0.jar、djep-1.0.0.jar三个包拷到chord目录下

e.       运行java -cp "peersim-1.0.5.jar:jep-2.3.0.jar:djep-1.0.0.jar;chord.jar" peersim.Simulator example.cfg 即可看到模拟结果

第c步需要打包的原因:

Chord目录下提供的readMe-chord.pdf是不需要对chord源码打包,但是这样做的话是会报NoDefClassFound错误的,因为Chord源码本没有编译过,没有.class文件。

Pastry类似。