• <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>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            libjingle翻譯之《Important Concepts(重要概念)之Candidates(候選)》

            轉載自:http://blog.csdn.net/night_cat/article/details/3501217

            Candidates(候選)

            libjingle一個主要的好處就是它可以穿透防火墻和NAT設備進行鏈接協商。libjingle使用ICE機制穿透防火墻。libjingle應用程序第一步要做的就是在試圖協商一個鏈接時為其它計算機的鏈入創建一個潛在的本地端口地址鏈表。鏈表中的每個潛在的地址就稱作一個候選。候選就是“IP地址:端口”對應對,這些對應對使應用程序和其它計算機互聯(技術上,這些對應對只在本地機上監聽)。libjingle提供了強壯的機制在本地鏈接上發現候選供其它計算機進入,甚至穿透防火墻或NAT設備。

            為了向其它計算機提供盡可能多的候選鏈接地址,libjingle生成三種本地候選:

             Local IP addresses 一種候選是計算機上的本地IP地址。與它共同在一個網絡中的其它計算機能夠通過這個候選進入。

             Global addresses第二種候選是兩個計算機之間的NAT或防火墻設備的對外地址。如果這個候選是NAT設備對外地址,libjingle使用心跳包使NAT端口與本地機綁定起來并對外公布這個全局地址。這個全局地址被作為從NAT對外地址鏈接進入的候選。

            A second candidate is an external address on a NAT or firewall device between the two computers. If this

            is outside a NAT device, libjingle uses STUN to cause the NAT to bind to your computer and expose a global address.

            This address is used as a candidate to connect from outside the NAT device.

             Relay server addresses 大約有8%的鏈接嘗試在穿越防火墻時,上述方法失敗。第三種方法就是在兩個防火墻之間進行服務器中轉。盡管libjingle有能力使用中轉服務器,但是沒有提供中轉服務器的URI。libjingle包含中轉服務的代碼(relayserver.h)。應用程序可以自己創建和運行這個服務,使用方法是以中轉服務器的IP地址做為BasicPortAllocator的構造函數的第三個參數。

            下面的圖演示了兩臺計算機之間生成的  local addrress 候選(C1),external NAT 候選(C2),Relay server候選(C3)。

             Candidate selection diagram

             

            libjingle以鏈表的形式儲存著全部的候選,這樣可以做到在鏈接建立后,libjingle能夠在當前鏈接遲緩或中斷后很快地切換到新的鏈接上。

            libjingle包支持多種傳輸方式,實現了Jingle<transport>元素表現出來的精神。一個transport元素能夠包含比簡單的候選地址更多的信息:例如:ICE標簽支持像優先權,密碼,用戶碎片(user fragments)的特殊ICE。盡管這是協商鏈接的首選方法,為了向下兼容的正規考慮,libjingle仍然支持客戶繼續使用老式的<candidate>節。請查看Jingle ICE Transport Specification 里的transport詳細說明。(對這一段的翻譯無自信,把原文附出,請高手指教。)

            libjingle now includes support for multiple transports, in the spirit of the Jingle <transport> element. A transport can contain much more information than a simple candidate address: for example, the ICE transport tag supports ICE-specific information such as priority, password, and user fragments. Although this is the preferred way to negotiate connections, for backward compatibility purposes libjingle still supports clients that still use the older bare <candidate> stanza. See the Jingle ICE Transport Specification for an example of a transport specification.




            posted on 2013-09-02 00:11 楊粼波 閱讀(370) 評論(0)  編輯 收藏 引用

            996久久国产精品线观看| 久久精品亚洲乱码伦伦中文| 久久精品国产男包| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 亚洲国产精品综合久久一线| 色欲久久久天天天综合网精品| 久久亚洲国产中v天仙www| 思思久久99热免费精品6| 久久精品aⅴ无码中文字字幕重口| 国产成人精品久久综合| 伊人色综合久久天天人手人婷| 久久综合综合久久狠狠狠97色88 | 久久久久人妻一区二区三区vr| 久久精品夜色噜噜亚洲A∨| 久久天堂AV综合合色蜜桃网| 亚洲精品成人久久久| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久成人国产精品| 久久影院午夜理论片无码| 亚洲国产精品一区二区久久| 99久久99久久精品国产片果冻| 久久高清一级毛片| 国内精品久久久久影院免费| 老色鬼久久亚洲AV综合| 77777亚洲午夜久久多喷| 久久精品国产日本波多野结衣| 久久亚洲欧洲国产综合| 久久青青草原精品国产软件| 伊人久久大香线蕉精品| 日本免费久久久久久久网站| 久久精品国产半推半就| 国产精品久久久久影视不卡| 久久A级毛片免费观看| 国产成年无码久久久久毛片| 狠狠色丁香久久婷婷综合五月| 久久国产劲爆AV内射—百度| 亚洲AV无一区二区三区久久| 精品国产乱码久久久久久1区2区 | 久久国产成人午夜aⅴ影院 | 色天使久久综合网天天| 少妇被又大又粗又爽毛片久久黑人|