1 在命令行中運行peersim
a.從官方網站http://peersim.sourceforge.net/上下載最新的peersim-1.0.5.zip,解壓到你所需的目錄中,本人使用的目錄是F:\sim\
b.運行cmd,進入到F:\sim
c.運行cd peersim-1.0.5,進入到主目錄下
d.在主目錄中有個README文件,用寫字板打開,可以看見裏面運行模擬的方法,其中有一句運行命令如下:
java -cp "peersim-1.0.5.jar:jep-2.3.0.jar:djep-1.0.0.jar" peersim.Simulator example/config-example1.txt。將其中的“:”改成“;”(windows下),不然運行會報錯。NoDefClassFound。
-cp 可選項是classpath的簡寫,既編譯時需要後面的jar文件。
peersim.Simulator是PeerSim運行的主函數,所有的協議模擬都需要從它開始。
Example/config-example1.txt 指定了你要運行的協議的配置文件。每個需要模擬的協議提供了配置文件。
輸出結果:當運行以上語句後就可以查看輸出結果了。
Chord等協議的模擬:
a. 需要從官方網站http://peersim.sourceforge.net/上下載對應的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類似。
2 將工程導入到Eclipse中
a.新建一個工程,可以命名爲PeerSim
b.從將peersim-1.0.5\src\目錄下將所有的源碼拷到PeerSim中
c.將peersim-1.0.5目錄下所有的jar包拷到PeerSim工程下
d.通過Build Path將所需的jar關聯上。
運行:
主函數在peersim包下,直接運行裏面的Simulator類,此時會報如下的錯誤:
Simulator: loading configuration
Simulator: unable to determine simulation engine type
這是因爲沒有添加配置文件的原因。
方法:
Run as->Run Configurations:
在main中選擇剛纔運行的Simulator
在arguments的program arguments中輸入config-example1.txt,然後點擊apply run即可。