1. 搭建tracker
go get ,安裝缺少的依賴包。
執行後,啟動
announce介面 udp:
2. 編譯boost
git clone
1. compile openssl
可能需要先安裝
copy nasm ndisasm c:\program files (x86)\microsoft visual studio 14.0\vc\bin
perl configure vc-win32
call ms\do_nasm
這裡可以提前修改ms目錄下的ntdll.mak檔案,把-w3修改為-w0:
cflag= /md /ox -dopenssl_threads -ddso_win32 -w3 -gs0 -gy -nologo
call "c:\program files (x86)\microsoft visual studio 14.0\vc\bin\vcvars32.bat"
編譯靜態版本的執行nmake -f ms/nt.mak 在 out32/先生成 openssl.exe libeay32.lib ssleay32.lib
編譯動態版本的執行nmake -f ms/ntdll.mak 在 out32dll openssl.exe libeay32.dll,ssleay32.dll
2. compile boost
download boost_1_66_0.zip
extract
cd boost_1_66_0
執行 boostrap.bat 在當前目錄下生成 b2.exe,bjam.exe,project-config.jam。
使用bjam編譯
#bjam --without-python --toolset=msvc-14.0 link=static runtime-link=shared threading=multi debug release
bjam --without-python --toolset=msvc-14.0 link=shared runtime-link=shared threading=multi debug release
3. 編譯 libtorrent c++版
set boost_build_path=e:\clib\boost_1_66_0
set boost_root=e:\clib\boost_1_66_0
下面兩行不確定有用?
set inclulde=e:\clib\libtorrent\libtorrent-libtorrent-1_2_1\include;e:\clib\openssl-1.0.2n\include\;e:\clib\boost_1_66_0\boost\;
set lib=e:\clib\openssl-1.0.2n\out32\;e:\clib\boost_1_66_0\stage\lib
#2 msvc-14.0 link=static runtime-link=static
b2 msvc-14.0 link=shared runtime-link=shared
msvc.link.dll bin\msvc-14.0\debug\threading-multi\torrent.dll
正在建立庫 bin\msvc-14.0\debug\threading-multi\torrent.lib 和物件 bin\msvc-14.0\debug\threading-multi\torrent.exp
msvc.manifest.dll bin\msvc-14.0\debug\threading-multi\torrent.dll
4. 使用vs編譯 libtorrent example時,
設定相關的 boost libtorrent include 路徑,匯入相關的 boost libtorrent動態庫。
5. 編譯 libtorrent python
使用 libtorrent-rasterbar-1.2.1.tar 原始碼包
使用python36 32位
building using boost build (windows)
download and install visual c++ 2015 build tools
download boost libraries extract it to e:/libraries/boost_1_66_0 and create these environmental vars:
set path=%path%;e:\clib\boost_1_66_0/tools/build/src/engine/bin.ntx86/
set boost_build_path=e:\clib\boost_1_66_0\tools\build
set boost_root=e:\clib\boost_1_66_0
move the file user-config.jam from %boost_build_path%/example/ to %boost_build_path%/user-config.jamand add this at the end:
using msvc : 14.0 : : /std:c++11 ; # 這個配置會報錯,改為 using msvc ;
(change the python path for yours)
如果出現 cannot determine the location of the vs common tools folder
在環境變數path中新增 c:\windows\system32
reference::
cd e:\clib\libtorrent\libtorrent-rasterbar-1.2.1\bindings\python/bindings/python
python setup.py build --bjam
生成 libtorrent.pyd
問題:使用libtorrent.pyd時發現,無法識別很多torrent引數,比如
'seed_mode': true, 'upload_mode':true
這是乙個 64位的python 2的加密庫
認識P2P,利用P2P
是peer to peer的縮寫 好象還看到過文章說是point to point,我也不清楚,網上的資料也不清楚,鬱悶 peer在英語裡有 地位 能力等 同等者 同事 和 夥伴 等意義。這樣一來,p2p也就可以理解為 夥伴對夥伴 的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流 檔案交換...
P2P網路模型
1 靜態配置模型 靜態配置模型是一種相對靜態而簡單的對等點定位模型。在該模型中,每個對等點都確切地知道存在於其p2p 網路中其它對等點的位置以及它們所提供的共享資源內容。缺點 網路無法應付不能預知的隨機事件和臨時變更,比如對等點隨機進入和退出網路。優點 整個網路在外部攻擊面前表現得很穩固。2 動態配...
P2P路由演算法
p2p路由演算法 資源定位方法 dht distributed hash table 演算法 思想 每乙份資源都由一組關鍵字標示,系統對其中的每乙個關鍵字進行hash,根據hash的結果確定該關鍵字由哪個使用者負責儲存,使用者搜尋的同時,用同樣的演算法計算每乙個字的hash,再根據hash知道該關鍵...