誰能具體的告訴我怎么BT下載,我用比特精靈下了半天,動也不動一下,我下的文件種子有3,連接28,可是怎么下也下不動我對BT下載是一無所知,什么是種子之類的都不知道,希望聰明的大哥大姐們把怎么bt下載具體的告訴我吧還有些技巧

熱心網友

BT運行原理分析及內網提速方法。由于內網用戶無法提供一個對外的端口,所以無法做服務器。但用BT的時候,發現它可以讓內網用戶做 Send,作為程序員就忍不住下載了它的源代碼分析了一把(為了看它,還專門去寫了一下Python:}) 比起其它的P2P軟件,BT有個獨特的地方,它存在一個中間的WEB服務器,就是我們在發布的時所填寫的announce。該服務器提供了發布的統一管理,不像其它P2P軟件那樣到處去找哪些非常不穩定的個人服務器,相對起來讓人安心的多。 該WEB服務器更大的作用是內網用戶可以做 Send(下面會說明原理),這是其它軟件無法做到的,但不好的地方是announce當機的時候就無法下載了,要知道P2P下載關鍵是要人氣要高,announce停一下就搞到人氣全沒有了 。torrent 的作用 大家都知道我們要用BT下載 ,就要先下載一個。torrent文件,這個文件到底有甚么呢: 首先是 announce 紀錄了發布服務器的位置,讓BT知道是那個WEB服務器發布的 然后是一些文件信息,文件名,目錄名,長度等等 最后是片段長度,和片段的 Sha1 校驗碼 (BT為了事現續傳和文件校驗,就把文件分成若干個片段) 大家可以用寫字板打看torrent文件看看,就是知道個大概,后面的亂碼是片段 Sha1 校驗碼 開始-續傳的實現 sha校驗 BT 打開一個 torrent文件后,先要你選擇文件保存那里。然后判斷文件不存在的話就建立新文件,存在的話就用 Sha1 校驗碼去校驗文件---錯誤的就是還沒下載的,這樣就可以實現續傳了,但128位校驗,想不慢都不行 得到 peer 現在知道要下載甚么了,到那里下載呢?這就要尋找有誰提供上傳了,這里BT是通過WEB服務器來實現的,首先BT會通過分析 torrent 來得到一面一串網址 ; ;是發布服務器的地址 info_hash 是torrent文件中的 info 部分的Sha校驗碼,WEB通過它在發布列表找到對應的紀錄, peer_id 是自身的標識,它是12個0和當前時間+全球的唯一標識碼(GUID)的Sha校驗的前八位,共20位 port 你提供上傳的 port IP 你的ip地址,沒有的話服務器會自己找到 uploaded downloaded 你上傳和下載了多少,服務器可以用它來做流量分析 left 你還要下載多少個字節 event 狀態,告訴服務器你是準備開始下載,還是停止,還是下載完成了 以上這個操作默認 5 分鐘做一次,或由服務器設定 服務器會做甚么 服務器中有個一個 track 程序來管理這些請求 得到這一串代碼后就會用 info_hash 來查找列表,找到你就可以下載,找不到就對不起啦 接著它會反連(NatCheck)你的 IP 和 Port這樣就可以知道你是內網用戶還是共網用戶(如果你是內網用戶,它是連不通的,因為它會連到你的服務器上,你的服務器當然沒有這個端口啦) 然后服務器返回現在正在下載這個文件的所有公網用戶的IP和port,就像是這樣 d8:intervali1800e5eersld2:ip14: 7eer id20:00180531904b7e3abdd74orti6881eeee interval 1800 是告訴 BT 隔多少秒來查詢一次這里是 30 分鐘 (有點過分了) 最后如果你是公網用戶它會把你提交的 IP 和 Port 放到info_hash 對應的列表中,這樣其它人就可以找到你 下載 得到這些 peer IP后,BT就可以找到對應的IP下載了 Bt會到所有的peer去尋找自己要下載的東西,不是一定要到seed下載。 Bt每找到一個peer就和建立一個Socket來下載,所以下載的人越多,速度就越快。 內網用戶可以做Send的原理 上面說到服務器只會返回公網的ip的,那內網用戶怎么可以做Send呢,這是因為BT是一個主動連接的軟件(即使你已經下載完了,也不也會主動連接他人) 下面是一個仿真流程: 1 內網用戶開始做 seed, 2 服務器收到請求,由于是第一個所以也沒有peer返回 3 公網用戶提交請求,由于seed是內網用戶所以也沒有peer返回,等待下載,但服務器會把它的IP放到列表中 4 內網經過 interval 時間間隔后,再向服務器放出請求,得到上面得公網IP 5 得到公網IP后,內網馬上進行連接 6 公網用戶建立連接,數據開始傳輸 (注意現在是公網用戶做服務器,內網用戶做客戶端,是不是有點怪) 7 其它內網用戶去上面公網用戶下載數據 所以,內網用戶做 seed 一定要有公網用戶得參與,否則其它內網用戶無法下載。如果全部是內網用戶,那個所有連接都不會成立,當然這是比較極端的情況。 以上可見,內網用戶不能和內網用戶連接,其它用戶無法從服務器查到你,所以無法主動連接你,你只能每隔30分鐘從服務器找到公網用戶一個個進行連接。 由于中國很多用戶的是內網用戶(我從服務器上查回來的peer還沒試過超過10個的),所以內網用戶用BT的確要比公網用戶要慢很多。于是有了下面的一直是0%:可能SEED是內網,連接不上。有時用PTC和shareaza無法下的東東,用BT就可以下。下不了的話具體原因跟具體情況有關,如你的網絡是否局域網,你是否能訪問到tracker,你使用的是那種客戶端,你下載的具體是哪一個BT文件,你是從頭開始下還是續傳,續傳的話之前是否死機過等這些都有關系。BT下載慢的一些原因:1、不是公網用戶。內網用戶不能提供主動連接,所以較慢2、各個運營商網絡接口速率不高3、下載者上傳速率不高。因為BT優先處理上傳較快的人4、發布時seed的多少,還與發布者的速率相關,還有下載的人數越多相應的下載速度就越快(這就是BT的最大優點)5、用戶的防火墻阻礙作用關于BT錯誤信息的一些解釋最近發現有很多人問有關BT的出錯信息,下面給出完整的解釋:事實上,當你看到這些錯誤提示時,其實并不要緊張,這是你所要做的便是----等待。注意:使用BT過程中出現紅字錯誤后不必退出,BT會自動重試(無論這種情況是出現在開始還是下載過程中)另外注意錯誤的時間,如果距現在已經超過5分鐘,恰恰說明現在是正常的。(BT不會自動清除過期的錯誤)I。 A piece failed hash chech, re-downloading it 這并不是什么壞消息,你不用理會它。意思是告訴你,你下載的文件有一部分是壞的,bt會自動幫你重新下載錯誤的部分。導致這個錯誤的大多數原因在于某些人錯誤的使用了"跳過hash檢查"這個選項 d data from tracker -通常你不必理會它,通常是tracker服務器過載或者down了。也有可能是你的網掉線了(如部分長寬,訪問任何網站會返回登陸界面,就是錯誤的data啦)III。Problem connecting to tracker - timeout exceeded Problem connecting to tracker - HTTP Error 503: Connect failed Problem connecting to tracker - [Errno socket error] (10061, "Connection refused") Problem connecting to tracker - (111, \'Connection refused\') 說明在連接tracker服務器過程中出現錯誤,有可能trakker服務器過載或者down了,這時并不要心急,等待BT自動重試。如果很長時間都沒有反映的話,你可以加上"--http_timeout 120"的參數來加大連接重試時間。具體做法另文說明。IV。Problem connecting to tracker - HTTP Error 400: Not Authorized 說明這個tracker服務器不允許你使用這個torrent文件(國內好像比較少見),有些tracker服務器只允許在他們自己網站上發布的torrent才允許下載。解決只有換一個torrent文件了,:PV。Problem connecting to tracker - HTTP Error 404: Not Found 很簡單,torrent文件在tracker服務器上已經找不到了,找個新的吧。VI。Problem connecting to tracker - HTTP Error 407: Proxy Authentication Required 假如你用的是代理下載BT,說明這個代理需要驗證,需要你輸入用戶名和密碼。VII。Problem getting response info - [Errno 2] No such file or directory: "C:\\\\Documents and Sett。。。" 在某些情況下,IE有可能沒把torrent文件存在臨時文件夾內。解決方法是在torrent文件下載地址上按右鍵,然后另存到硬盤的某處(這可是個好習慣,以后你求種子或者reseed的時候特別有用,建議大家都這么干,利己利人),然后雙擊這個torrent文件開始下載。如果出現這個問題,建議清楚你的IE緩存,在文件中如果出現"["或者"]"也會出現這個問題。BitTorrent協議詳解 BitTorrent(簡稱BT,比特洪流)是一個文件分發協議,它通過URL識別內容并且和網絡無縫結合。它在HTTP平臺上的優勢在于,同時下在一個文件的下載者在下載的同時不斷互相上傳數據,使文件源可以在很有限的負載增加的情況下支持大量下載者同時下載。 一個BT式文件分發需要以下實體: ·一個普通網絡服務器 ·一個靜態元信息文件 ·一個BT Tracker ·一個“原始”下載者 ·網絡終端瀏覽者 ·網絡終端下載者 這里假設理想情況下一個文件有多個下載者。 架設一個BT服務器步驟如下: 1。開始運行Tracker(已運行的跳過這一步); 2。開始運行普通網絡服務器端程序,如Apache,已運行的跳過這一步; 3。在網絡服務器上將。torrent文件關聯到Mimetype類型application/x-bittorrent(已關聯的跳過這一步); 4。用要發布的完整文件和Tracker的URL創建一個元信息文件(。torrent文件); 5。將元信息文件放置在網絡服務器上; 6。在網頁上發布元信息文件(。torrent文件)鏈接; 7。原始下載者提供完整的文件(原本)。 通過BT下載步驟如下: 1。安裝BT客戶端程序(已安裝的跳過這一步); 2。上網; 3。點擊一個鏈到。torrent文件的鏈接; 4。選擇本地存儲路徑,選定需要下載的文件(對有選擇下載功能的BT客戶端用戶); 5。等待下載完成; 6。用戶退出下載(之前下載者不停止上傳)。 連接狀況如下: ·網站正常提供靜態文件連接,并且啟動客戶端上的BT程序; ·Tracker即時接收所有下載者信息,并且給每個下載者一份隨機的peer列表。通過HTTP或HTTPS協議實現; ·下載者每隔一段時間連一次Tracher,告知自己的進度,并和那些已經直接連接上的peer進行數據的上傳下載。這些連接遵循BitTorrent peer協議,通過TCP協議進行通信。 ·原始下載者只上傳不下載,他擁有整個文件,所以很必要向網絡中傳輸完文件的所有部分。在一些人氣很旺的下載中,原始下載者經常可以在較短的時間內退出上傳,由其它已經下載到整個文件的下載者繼續提供上傳。 元信息文件和Tracker的回應信息都以一種簡單高效可擴展的格式(Bencoding,B編碼)傳送。經過B編碼方式編碼后的信息,將由字符串和整型數字描述,嵌套在字典和列表中(像在Python中一樣),忽略字典無法識別的關鍵值,用以增強可擴展能力。這樣,新特性便可以在以后被加入。 B編碼規則如下: ·字符串的表示方法為:字符串長度(十進制表示),冒號,字符串。比如,字符串'spam'(不包括引號)將被表示為:'4:spam'(不包括引號),4表示字符串長度。 ·整型數據表示成前面加'i'后面加'e'中間是十進制數,如i3e就相當于3,i-3e就是-3。整型數據沒有長度限制。i-0e無效,所有以'i0'開頭的除了代表0的i0e,其它都無效。 ·列表編碼為一個'l'開頭后面跟它所包含的項目(已經編碼過)最后加一個'e',比如l4:spam4:eggse就等于['spam', 'eggs']。 ·字典編碼為一個'd'開頭后面跟一個交替關鍵值(key)及其對應值的列表最后加一個'e'。 如:d3:cow3:moo4:spam4:eggse相當于{'cow': 'moo', 'spam': 'eggs'} d4:spaml1:a1:bee相當于{'spam': ['a', 'b']} 關鍵值必須是處理過的字符串(用原始字符串編碼的,而且不是數字字母混合編碼的)。 元信息文件就是B編碼的有以下關鍵值的字典: announce(聲明) Tracker的URL。 info(信息) 此關鍵值對應一個字典包含以下描述的關鍵值: 關鍵值name對應一個字符串,代表默認的下載文件或存成目錄的名字。它是純粹建議性的。 關鍵值piece length(塊長)對應文件分割成的塊的字節數。出于傳輸需要,文件被分割成大小相等的塊,除了最后一塊通常會小一些。塊長一般來說是2的權值,大部分設塊長為256K(2的18次冪)。 關鍵值pieces(塊)對應一個字符串,此字符串長度是20的倍數。它可以再分成每20字節一段的多個字符串,分別對應塊在索引中的SHA1校驗碼(hash)。 還有關鍵值length(長度)和files(文件),它們不能同時出現也不能都不出現。當length出現說明這個元信息文件只是單文件下載,否則說明是多文件的目錄結構下載。 單文件情況下,length對應文件長度的字節數。 多文件情況被看作是把許多單文件按文件列表中的順序連成一個大文件下載,而關鍵值files就對應文件列表,是一個字典的列表,其中每個字典又包含以下關鍵值: length(長度) 文件長度的字節數。 path(路徑) 一個包含字符串的列表,字符串就是子目錄名,最后一項的字符串是文件名。 (一個長度為零的length表單是錯誤的。) 在單文件情況下,關鍵值name是文件名;多文件情況下,它就成了目錄名。 Tracker質詢是雙向的。Tracker通過HTTP GET參數獲得信息,然后返回一個B編碼后的信息。盡管Tracker需要在服務器端執行,但它運行流暢像Apache的一個模塊。 Tracker的GET請求有如下關鍵值: info_hash 20字節長的SHA1驗證碼,來自B編碼過的元信息文件中的info值下,是元信息文件的一個支鏈。這個值是自動轉換的。 peer_id 一個20字節長的字符串,是每個用戶開始下載時隨機生成的ID。這個值也是是自動轉換的。 ip 一個可選擇的參數給出peer所在的IP(或DNS主機名),一般是和Tracker同機器的原始下載者得到后以便散發文件。 port 監聽端口,官方默認的是從6881端口開始試,如果端口被占用則依次向后推一個端口找空閑端口,到6889端口為止。 uploaded 目前總上傳量,編碼為十進制ASCII碼。 downloaded 目前總下載量,編碼為十進制ASCII碼。 left 未下載的字節數,編碼為十進制ASCII碼。這個數不是通過文件長度和已下載數算出來的,因為文件可能在被續傳,還有一些已經下載的數據不能通過完整性檢查必須重新下載。 event 這是個選擇性的關鍵值,選項有started,completed或stopped(或empty,等同于沒有運行)。如果沒有運行,這個聲明會定期間隔一定時間發出。開始下載時發出started值,完成下載時發出completed。當文件完整后再開始,沒有completed發出,下載者中止下載時發出stopped。 Tracker的回應也是B編碼字典。如果Tracker回應中有關鍵值failure reason(失敗原因),就會對應一個人可以讀懂的字符串信息解釋質詢失敗的原因,不需要其它關鍵值。否則,回應必須有兩個關鍵值:interval(間隔)對應下載者定期發出請求的間隔秒數;peers,peers對應一個與peers相通信的字典列表,peers,peer自選ID,IP地址或DNS主機名的字符串和端口號之一。記住,假如下載者發生一個事件或者想要更多的peers,他們不會完全按照計劃的間隔發送請求。 如果你想對元信息文件或者Tracker質詢進行擴展,請與Bram Cohen進行協調,確保所有擴展都兼容。 BitTorrent peer協議通過TCP協議進行操作。它不用調節任何socket選項就可以流暢運行。 peer之間的連接是對稱的。兩個方向送出的信息要協調一致,數據可以流入任一方。 peer協議是按照元信息文件所描述的索引的文件塊,以零開始。當一個peer完 。

熱心網友

BitTorrent(中文全稱比特流,簡稱BT,又稱變態下載)是一個多點下載的P2P軟件。不象FTP那樣只有一個發送源,BT有多個發送點,當你在下載時,同時也在上傳,使大家都處在同步傳送的狀態。    BT的工作原理?    BT首先在上傳者端把一個文件分成了多個部分,客戶端甲在服務器隨機下載了第N部分,客戶端乙在服務器隨機下載了第M部分。  這樣甲的BT就會根據情況到乙的電腦上去拿乙已經下載好的第M部分,乙的BT就會根據情況去到甲的電腦上去拿甲已經下載好的第N部分。    BT下載會比http、FTP快嗎?    從原理上來說,由于BT先進的下載方式減輕了服務器端的負荷,同時加快了客戶端的下載速度。所以BT下載的人越多,速度越快。而傳統的服務器下載方式,速度取決于你的帶寬和服務器分給你的帶寬。    什么叫種子?    種子就是提供你下載的網友,而這個文件有多少種子就是有多少個網友在下載同時上傳。怎么樣下載?    BT需要使用其特殊的軟件才能進行下載,你可以看到本頁左方的BT下載軟件TOP 10,那就是最近比較熱門的BT軟件,安裝后可以進行BT下載。  BT是不是很占資源?  答:還好,一般占用內存為每個下載5M左右  也就是說,你開一個BT下載器,是5M,開2個,是10M。。。。依此類推。    裝完軟件了,接下來?    安裝好軟件后我們需要到一些提供BT種子的網站去。    BT下載好慢!    你是內網嗎?通常內網不能響應一部份外網用戶的連接要求,所以會損失掉一部份的下載速度。  如果你是外網,請注意你下載文件的種子數。 。