• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            rockbeast

            常用鏈接

            統計

            DirectX

            P2P

            最新評論

            最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中

            1 介紹

            1.1 目的和范圍

              eMule是一個基于eDonkey協議的流行文件共享應用程序。這份文檔描述eMule的網絡行為方式,以及為了更好理解這份協議的一些基本術語。同時,文檔也對eMule網絡協議做了全面的說明,其中還包含一個詳述消息格式的附言部分。這份文檔信息基于一個開源客戶端軟件eMule【2】。接下來的一些介紹是為讀者能更好的去閱讀和理解這份文檔的一些一般性的背景知識。關于eMule的更進一步的信息可以在【3】中找到。

            1.2 概述

              eMule網絡由幾百個eMule服務器和數百萬個eMule客戶端組成【1】。客戶為了得到網絡服務需要連接一個服務器;只要客戶端在系統中,服務器連接就一直保持打開狀態。服務器提供中心索引服務功能(象在Napster中一樣),不和別的服務器通信。

              每個eMule客戶端在本地系統中預先配置好一個服務器列表和一個共享文件列表。一個客戶端使用單一TCP連接連接到eMule服務器來登入eMule網絡,去獲得文件和可連接的客戶端信息。eMule同時也使用數百個到別的客戶端的TCP連接去下載和上傳文件。每個eMule客戶端他的每個共享文件維護一個上載隊列。下載客戶加入隊列,進入隊列底部,逐步上移直到隊列的頂部開始下載文件。一個客戶可能從幾個不同的客戶端下載同一個文件,從每一個客戶端上面得到不同的片斷(fragments)。客戶也可能上載文件數據塊(chunks),即使這個文件還沒有下載完成。最后,eMule還擴展了eDonkey協議,允許客戶之間交換服務器、別的客戶和文件信息。這里值得注意的是,客戶跟服務器的通信是基于TCP的。

              服務器啟用一個內部數據庫來保存客戶和文件信息。eMule服務器不保存任何文件,它扮演中心索引的角色,保存文件位置信息。服務器的一個額外橋接功能,同時也引來無數抗議的一個功能就是穿越防火墻,使得躲在防火墻后不能夠接受引入連接的客戶得到解放。橋接功能極大的增加了服務器的負擔。eMule啟用UDP加強客戶性能來應對服務器和別的客戶端的連接。客戶接收和發送UDP消息不是強制性的,如果防火墻阻止客戶發送和接收UDP消息,這不會妨礙正常運轉。

            1.2.1 客戶到服務器的連接

              在啟動的時候,客戶使用TCP連接到單個eMule服務器。服務器提供客戶一個客戶ID(1.3節),這個ID只是在客戶服務器連接生命期有效(這里有一點需要注意:如果客戶擁有一個High  ID,那么只要他的IP地址不發生改變,客戶就會從所以的服務器上得到同一個ID)。緊接著連接的建立,客戶端會發送他的共享文件列表給服務器。服務器把這個列表信息保存他他的內部數據庫中,通常數據庫中存有數十萬個可獲得的文件和活動客戶信息。同時,eMule客戶端也發送他的下載列表,包含他希望去下載的文件。第2節會提供客戶和服務器TCP信息交換的詳細描述。

              連接建立后,eMule服務器發送給客戶一個別的客戶的列表,列表中的客戶可以為當前客戶提供文件下載源(這些客戶理所當然就被稱為“sources”)。緊跟其后,客戶開始和別的客戶建立連接,1.2.2節對此有詳細描述。

              值得注意的是:客戶服務器的TCP連接在整個客戶會話階段都保持開的狀態。初始握手之后,客戶服務器事件主要由用戶活動觸發:有時候,客戶發出文件查找請求,請求被查找結果作為答復;文件查找之后通常緊跟著一個特定文件源的查找,這個查詢以源列表(IP和port)作為答復,發出請求的客戶可以從源端下載特定文件。

              客戶使用UDP和別的服務器(未建立TCP連接的服務器)通信。這種通信增強文件和源查找,保證客戶端服務器列表中所有的服務器是當前有效的。關于客戶服務器UDP連接的細節可以在第三章中找到。

             

            posted on 2005-12-07 07:57 rock beast 閱讀(918) 評論(7)  編輯 收藏 引用

            評論

            # re: 最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中 2006-02-15 17:37 helloworld

            謝謝您的翻譯。  回復  更多評論   

            # re: 最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中 2006-03-02 13:45 QST

            1、搜索文件是在整個emule網絡搜索還是在我登陸上的emule服務器搜索的?
            2、在同一個服務器登陸的用戶是否能更快的得到其他用戶的文件?  回復  更多評論   

            # re: 最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中 2006-03-02 16:30 游自在

            8錯8錯!!有點兒意思!  回復  更多評論   

            # re: 最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中 2006-03-12 14:43 yang22222222222222222222222222

            3x your translon!  回復  更多評論   

            # re: 最近在看eMule的協議,覺得不錯,翻譯了一些!下面帖出來開始部分(止于1.2.1),很亂在不斷整理中 2006-03-15 18:49 Tauruser

            請問哪里有原本的e-Mule協議呢?我想看一下完整的英文版。  回復  更多評論   

            # to 樓上 2006-03-15 21:17 dhong

            http://prdownloads.sourceforge.net/emule/protocol_guide.pdf?download  回復  更多評論   

            # 根本沒有必要翻譯這種東西 2006-03-19 16:46 無名氏

            普通的emule用戶不會看這種東西吧?

            做開發的不能閱讀英文資料,還能做開發嗎?  回復  更多評論   

            日本精品久久久中文字幕| 久久久久99这里有精品10| 无码国内精品久久人妻蜜桃| 久久久久国产| 久久亚洲国产精品123区| 久久强奷乱码老熟女网站| 欧美久久一级内射wwwwww.| 免费一级欧美大片久久网 | 久久亚洲欧美国产精品| 一97日本道伊人久久综合影院| 久久久久久久国产免费看| 午夜视频久久久久一区 | 久久国产色AV免费看| 色婷婷综合久久久久中文 | 777米奇久久最新地址| 国产亚洲欧美精品久久久| 国产一久久香蕉国产线看观看| 91精品国产综合久久香蕉| 久久性生大片免费观看性| 久久精品国产男包| 久久99精品国产一区二区三区| 日本精品久久久久中文字幕| 色综合久久88色综合天天 | 97精品伊人久久久大香线蕉| 精品无码久久久久久午夜| 久久国产精品免费一区| 久久久精品国产免大香伊 | 久久99国产精品成人欧美| 成人综合久久精品色婷婷| 色综合久久久久综合体桃花网| 欧美激情精品久久久久| 久久天天婷婷五月俺也去| AAA级久久久精品无码片| 久久久国产精品| 99国产欧美精品久久久蜜芽| 久久久久女教师免费一区| 久久天天躁狠狠躁夜夜躁2O2O| 久久久亚洲精品蜜桃臀| 久久久久人妻一区精品色| 久久天天躁狠狠躁夜夜av浪潮| 国产V综合V亚洲欧美久久|