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

            Libjingle和各協議的關系

                前兩篇blog介紹了P2P的原理和libjingle庫的基本情況,如果直接看代碼,很多細節可能不會注意到,這種時候最有效的方法當然是看它的開發文檔,因為庫是由Google開發和維護,所以這方面我們不用擔心,文檔首頁見這里。但是如果要深入了解庫代碼為什么這么寫,為什么這么約定時,還需要了解相應的協議。
               便于大家了解,特整理如下。(轉載請注明作者和出處  by peakflys)

            一、相關協議簡介
            ·XMPP協議(核心協議):
                  全稱:The Extensible Messaging and Presence Protocol,即可擴展通訊和表示協議。說白了,就是規定基于XML流傳輸指定節點數據的協議。這么做的好處就是統一(peakflys注:大家都按照這個定義,做的東西就可以相互通訊、交流,這個應該很有發展前景!)。它是一個開放并且可擴展的協議,包括Jingle協議 都是XMPP協議的擴展。(peakflys注:使用Wireshark抓包時,早期的版本可能找不到這個協議,這時候可以選擇Jabber,它是XMPP協議的前身)。現在很多的IM都是基于XMPP協議開發的,包括gtalk等。

            ·Jingle協議(重要的協議):

            Jingle協議是XMPP協議上的擴展協議,它著手解決在XMPP協議框架下的點對點的連接問題,也即P2P連接。在Jingle框架下,即使用戶在防火墻或是NAT網絡保護之下,也能夠建立連接,從而提供文件傳送、視頻、音頻服務等。綱領性文件是XEP-0166

               ·TURN協議:

            全稱:Traversal Using Relays around NAT,顧名思義,就是通過中繼服務器來傳輸數據的協議。

                 ·STUN協議:

            全稱:Simple Traversal of UDP over NATs,即NAT UDP簡單穿越,它允許位于NAT(或多重NAT)后的客戶端找出自己的公網地址,查出自己位于哪種類型的NAT之后以及NAT為某一個本地端口所綁定的Internet端端口。知道NAT類型并且有了公網IPportP2P就方便多了。

                 ·ICE協議:

            全稱:Interactive Connectivity Establishment,即 交互式連接建立,說白了,它就是利用STUNTURN等協議找到最適合的連接。

            二、Libjingle和各協議的關系

            Jingle協議的發起方是Google,而libjingle庫也是Google公司實現,ICE協議又基本包含在Jingle協議里,所以只需要知道libjingleJingle協議的區別即可。

            歷史:Libjingle大概和jingle XMPP 擴展在同一時間被建立。Libjingle的團隊建立了他們自己的協議去處理回話協商,后來和使用標準化的jingle(基于XMPP的標準)一起工作。盡管,jinglelibjingle是非常相似的,但是它們是不一樣的,而且不能共同使用。現在libjingle的源碼版本依然使用原始的網絡協議,跟以前的稍微有些不同,而且無法兼容jingle的規范。不過它還是足夠的接近jingle,所以學習jingle的說明書是值得的。類似的“接近但不是一樣”,libjingle的視頻內容描述(早期的jingle的視頻內容描述格式XEP-0167),ICE的傳輸描述(早期的jingleICE傳輸XEP-0176),以及流的UDP描述(早期的jingleUDP的傳輸描述XEP-0177

            三、相關文檔:
                  RFC3921(下載: RFC3921)                          XMPP協議的核心文檔
                  RFC3489(STUN)(下載:RFC3489             STUN協議的草案
                  rfc5245(ICE) (下載:RFC5245)                    ICE協議的草案
                  xep-0166(Jingle)(下載:XEP-0166             Jingle協議的官方主體文檔
                  xep-0176(Jingle ICE-UDP)(下載:XEP-0176 定義Jingle和ICE結合的官方文檔(主要就是用XMPP作為ICE信道來重新描述ICE協議)

                                                                                          --by peakflys 15:30:19 Monday, February 04, 2013

             

            posted on 2013-02-04 15:29 peakflys 閱讀(8505) 評論(2)  編輯 收藏 引用 所屬分類: P2P

            評論

            # re: Libjingle和各協議的關系 2013-02-05 05:38 essaycastle

            的稍些 接不兼容 微有 的容 述(早期的  回復  更多評論   

            # re: Libjingle和各協議的關系 2014-07-02 09:58 FreeLancer

            是不是可以理解成libjingle實現了原來jingle協議的內容后又添加了新的協議?
            還有webrtc的網絡部分用的還是libjingle么,改動大不大?  回復  更多評論   

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導航

            統計

            公告

            人不淡定的時候,就愛表現出來,敲代碼如此,偶爾的靈感亦如此……

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产福利电影一区二区三区久久老子无码午夜伦不 | 免费观看久久精彩视频| 久久无码人妻一区二区三区 | 色综合久久久久久久久五月| 国产成人精品综合久久久| 国产三级久久久精品麻豆三级 | 久久夜色精品国产网站| 久久综合九色综合精品| 国产精品无码久久久久| 国产精品久久久香蕉| 色综合久久久久久久久五月| 久久精品无码一区二区三区日韩 | 久久久无码一区二区三区| 国产成人精品久久一区二区三区av | 久久国产精品99久久久久久老狼| 久久久久香蕉视频| 人妻无码αv中文字幕久久| 午夜精品久久久久久影视riav| 亚洲国产精品热久久| 久久久久久久久久久精品尤物 | 中文字幕亚洲综合久久2| 久久久久人妻一区二区三区| 久久久久女教师免费一区| 久久被窝电影亚洲爽爽爽| 潮喷大喷水系列无码久久精品| 久久久久亚洲av综合波多野结衣| 日韩久久无码免费毛片软件| 国产精品久久永久免费| 亚洲国产精品无码久久98| 五月丁香综合激情六月久久| 亚洲精品99久久久久中文字幕| 欧美麻豆久久久久久中文| 国产精品久久久久久福利漫画| 91精品国产综合久久精品| 一本色道久久HEZYO无码| 国内精品久久久久影院老司 | 狠狠综合久久综合中文88| 精品久久777| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久99热这里只有精品国产| 久久伊人五月丁香狠狠色|