VC例項學習(4) BT拓展開發文件

2021-03-31 08:56:57 字數 2746 閱讀 2316

bt拓展開發文件

 

一、bt 的原理

 

 

 

 

 

二、bt 的缺陷

 

 

 

 

三、bt 的前景

 

 

 

 

 

 

 

 

四、bt 的開發

 

我們研究了目前所有開源的bt客戶端 和 服務端,對bt 的原理有了比較深刻的認識,下面簡單說說bt功能分析:

 

(一)服務端

 

 

 

 

(二)客戶端

 

 

 

 

 

 

上面就是我們目前研究源**分析所的到的,由於目前bt的開源軟體大部分都是由python語言開發的,這個語言雖然有很多有點,但是也存在者他固有的不足,於是我們絕對,在讀懂bt用python開發的源**之後,用c++語言重新開發。

 

(三)下面介紹原bittorrent的源**分析:

 

由於我們現在要開發的是大部分工作在客戶端,所以我們這裡忽略服務端的研究,直接切入客戶端的研究:

 

bt 的客戶端有很多部分組成,這個可以從他的**結構看出來:

 

總體架構:

 

 

類層次結構:

 

bt 客戶端涉及的模擬較多,我首先大致描述一下這些類的功能,然後給出它們的乙個層次結構。

 

1、rawserver:負責實現網路伺服器

 

2、rerequester:負責和 tracker 通訊。它呼叫 rawserver::add_task() ,向 rawserver 新增自己的任務函式rerequester::c()。

 

3、encoder:一種 handler類(在分析 tracker 伺服器時候提到),負責處理與其它peers建立連線和以及對讀取的資料按照bt對等協議進行分析。

 

總之,encoder 類在encrypter.py中,該檔案中,還有乙個 connection 類,而在 connecter.py 檔案中,也有乙個 connection 類,這兩個同名的 connection 類有些蹊蹺,為了區分,我把它們重新命名為 e-connection 和 c-connection。

 

具體的分析需要根據源**來看(這裡忽略)。

 

以上就是我們目前認識到的bt發展前景,我們覺得這樣的思路應該可以走出乙個全新的資料傳輸領域。

 

五、目前的研究進度:

 

源**的分析已經結束了總體分析,現正處於具體模組的**分析。今後接著要做的就是對每乙個類進行c++重寫。

 

 

 

【過程工作室】  王君  撰寫

2004 年 11 月 27 日  凌晨

樹莓派4b入門

sudo apt get install scim pinyin rebootdeb buster main non free contrib deb src buster main non free contrib deb buster main ui 配置vncverver服務允許遠端通過圖形化...

樹莓派4b主機板特點 樹莓派4B的實用配件清單推薦

最近樹莓派4b像一顆重磅炸彈投入了平靜的湖面,一石激起千層浪的感覺,樹莓派4b以其大記憶體,雙4k60fps的hmdi,千兆網絡卡,usb3.0 藍芽5.0 ble的強大特性讓很多小夥伴趨之若鶩。相信大部分拿到樹莓派4b的朋友還在進行瘋狂測試效能,功能測試,這裡我們推薦你幾款可以完全相容樹莓派4b的...

樹莓派4B搗鼓記錄

系統在不斷刷卡寫卡後終於安裝完成 在編譯c 程式時,第一步,使用cd命令調入檔案所在資料夾 第二步,c語言使用gcc 檔名 o 檔名 c 使用g 檔名 o 檔名 注 出現 undefined reference to 一類報錯時,檢查自己的庫檔案是否與當前語言匹配 安裝python模組報錯 在安裝m...