• <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>
            Dict.CN 在線詞典, 英語學習, 在線翻譯

            學海苦作舟,書山勤為徑

            留下點回憶

            常用鏈接

            統計

            積分與排名

            Denoise

            English study

            Web技術

            數據壓縮

            一些連接

            最新評論

            電騾協議規范-第二章-客戶端和服務器TCP通訊

            每個客戶端用 TCP 連接到具體的服務器。服務器給客戶端分配一個 ID ,這個 ID 用來標示其后與服務器的會話中該客戶端(高 ID 客戶端總是按照它的 IP 地址來分配)。電騾 GUI 客戶端為了運行而請求建立服務器連接。客戶端不能同時連接幾個服務器并且不能在沒有用戶的干預下動態改變服務器。

            1.1 ?????????????????????? 連接建立

            當建立一個到服務器的連接時,客戶端可能嘗試同時連接幾個服務器,拋棄其他的連接嘗試不談,這里僅僅描述成功登錄的序列:

            eMuleHIDConnection.jpg
            2.1 :高 ID 客戶端連接序列圖

            有幾種可能連接建立的用例:

            1.? ID 連接 - 服務器分配一個高 ID 給正在連接的客戶端

            2.? ID 連接 - 服務器分配一個低 ID 給正在連接的客戶端

            3.? 拒絕會話 - 服務器拒絕客戶端

            當然,有些小的用例,服務器 DOWN 了或不可達。

            2.1 描述了建立一個高 ID 連接的報文序列圖。這個例子中,客戶端建立一個到服務器的 TCP 連接,然后發送登錄消息給服務器;服務器連接使用另一個 TCP 連接到客戶端來指定一個客戶端到客戶端的握手,來確保正在連接的客戶端可以接受其他電騾客戶端的連接。在完成客戶端握手后,服務器關閉第二個連接,完成客戶端 - 服務器握手并且發送一個 ID 改變消息。你可能注意到電騾信息報文是灰色的。這是因為這些信息是電騾協議擴展( 1.6 節)。

            eMuleLIDConnection.jpg

            2.2 :低 ID 客戶端連接序列圖

            2.2 描述建立低 ID 連接的消息序列圖。這種情況下,服務器發出到客戶端的連接超時而失敗,因此客戶端被分配一個低 ID 。服務器消息通常包含一個警告,例如:“ Warning[ 服務器細節 ]-You have a lowed. Please review your network configure and/or your setting.

            2.3 描述拒絕會話的序列。服務器可能拒絕會話的原由有:客戶端有一個低的 ID 或當連接達到服務器的容量極限時。服務器消息包含一個描述拒絕原因的短字符串。

            eMuleSReject.jpg
            2.3 :服務器拒絕會話序列

            1.2 ?????????????????????? 連接開始報文交互

            在連接成功建立之后,客戶端和服務器交換幾個安裝信息。這些消息的目的是更新雙方知道的其他端的狀態。客戶端以提交服務器共享文件( 6.2.4 節)列開始,然后請求更新它的服務器列表。服務器發送它的狀態和版本( 6.2.6 6.2.2 節),然后發送它知道的電騾服務器并提供其他一些自標示信息。最終,客戶端請求源(其他的可以提供下載文件的客戶端),服務器以一系列報文來響應,一個是客戶端下載列表中的每個文件,直到所有的源列表都被下載到客戶端為止。圖 2.4 描述這個序列。

            eMuleConnectionStartup.jpg
            2.4 :連接開始序列圖

            1.3 ?????????????????????? 文件搜索

            文件收縮由用戶來初始化;操作簡單,一個搜索請求(見 6.2.9 節)發送到服務器,服務器以一個搜索結果來響應( 6.2.10 節)。當有多個結果的時候,搜索結果信息是壓縮的。下面,用戶選擇來下載一個或多個文件,客戶端然后請求源來下載選中的文件,服務器返回每個請求文件的源的列表(見 6.2.12 )。一個可選的服務器狀態信息可能在服務器找到源響應之前發送給客戶端。狀態信息(見 6.2.6 節)包含當前用戶數和服務器支持的文件信息。重要的點是有一個后備 UDP 消息隊列,它是用來增強客戶端從它搜索列表中查詢源的能力,更多的信息節 3 節。在驗證了源是新的之后,電騾客戶端初始化一個連接嘗試和添加這些到源列表中。源聯系的順序和電騾客戶端接收他們的順序是相同的。圖 2.5 描述文件搜索時序。

            電騾客戶端連接源的順序與這些源在連表中的順序是一樣。沒有優先級機制來決定先連接誰。有個復雜的算法來解決在客戶端下載隊列中從同一個源請求下載幾個文件的情況(注意,電騾客戶端僅僅允許在客戶端之間有一個上傳連接)。選擇算法是基于用戶優先級規范,在沒有優先級指定的情況下,按照字母表的順序。網站上有處理源上傳多于一個文件的詳細描述。

            eMuleFileSearch.jpg
            2.5 :文件搜索序列

            1.4 ?????????????????????? 回調機制

            回調機制設計用來克服低 ID 客戶端不能接受輸入的連接而因此不能共享文件給其他客戶端的。這個機智很簡單:假設客戶端 A B 連接到同一個電騾服務器, A 請求一個在 B 上的文件,但 B 是低 ID A 發送一個回調請求給服務器(見 6.2.13 節),請求服務器告訴 B 來主動連接它(回調)。服務器已經有一個打開的 TCP 連接到 B ,它發送回調請求給 B 6.2.14 節),將 A IP 地址和端口提供給 B B 然后連接到 A ,將其上的一些文件(沒有更多頭)發送給 A 。顯然,只有高 ID 客戶端才能請求低 ID 客戶端回調(低 ID 的客戶端不能接收輸入連接)。圖 2.6 描述了回調信息的交換。

            同樣有一個特性就是允許兩個低 ID 客戶端通過他們的服務器連接來交換文件;服務器作為一個中繼。大多數的服務器都不再支持這個功能了,因為服務器消耗增加。

            posted on 2006-07-24 09:36 笨笨 閱讀(1612) 評論(0)  編輯 收藏 引用 所屬分類: P2P技術

            亚洲AV无码久久寂寞少妇| 久久久久99精品成人片| 午夜精品久久久久久中宇| 久久久久久精品免费看SSS| 久久久久亚洲精品日久生情 | 久久无码一区二区三区少妇| 亚洲伊人久久综合影院| 久久婷婷五月综合国产尤物app| 国产精品久久久久9999高清| 香蕉99久久国产综合精品宅男自| 少妇人妻88久久中文字幕| 国产精品久久久天天影视香蕉| 亚洲精品久久久www| 99久久国产综合精品网成人影院| 色偷偷91久久综合噜噜噜噜| 99re久久精品国产首页2020| 久久乐国产综合亚洲精品| 中文字幕久久欲求不满| 色狠狠久久AV五月综合| 亚洲精品午夜国产va久久| 久久久久一区二区三区| 亚洲精品无码久久久久sm| 欧美久久久久久精选9999| 国产午夜精品久久久久免费视| 一级a性色生活片久久无少妇一级婬片免费放 | 国产精品久久久久jk制服| 思思久久好好热精品国产| 国产精品美女久久久久av爽| 久久精品国产亚洲av麻豆小说 | 久久精品中文字幕一区| 久久成人精品视频| 久久99国内精品自在现线| 麻豆av久久av盛宴av| 香蕉99久久国产综合精品宅男自 | 国产99久久精品一区二区| 无码人妻久久一区二区三区免费丨 | 99精品久久精品| 久久精品a亚洲国产v高清不卡| 7777久久久国产精品消防器材| 欧美久久久久久| 久久综合久久综合亚洲|