• <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庫 綜述

               國內(nèi)現(xiàn)在很多語音聊天工具都是基于TURN方式實現(xiàn)的,包括YY、AK等等,這種方式對于服務(wù)器的性能要求很高,而且在用戶量增大的時候,服務(wù)器壓力也會越來越大,用戶的語音質(zhì)量也會受到很大影響。而基于P2P方式實現(xiàn)的語聊服務(wù)器,就可以極大的避免這種情況的發(fā)生,而且用戶的語音體驗也會非常好。
               通過上文(P2P的原理和常見的實現(xiàn)方式(為libjingle開路))我們知道,因為NAT設(shè)備沒有固定標(biāo)準(zhǔn)的原因,導(dǎo)致并不能100%的實現(xiàn)P2P,但是根據(jù)現(xiàn)在通用的ICE&STUN的方式,P2P的成功率可以達(dá)到90%多。前段時間在找使用這種方法實現(xiàn)的成熟庫,最后猛然發(fā)現(xiàn)libjingle就在那里。
               通過一個多星期的研究,在此記錄一下libjingle庫的大致情況,如有不妥,希望朋友們可以留言或者郵件(peakflys@gmail.com)指正。

            Libjingle綜述   
               Libjingle是一個方便實現(xiàn)P2P傳輸?shù)拈_源庫,由google公司開發(fā),并與20051215日發(fā)布第一個版本,可以粗略的看成是Jingle協(xié)議的C++實現(xiàn)庫(peakflys注:只是和Jingle協(xié)議非常相似,并不完全兼容,區(qū)別以后介紹)Google Talk即是基于這個庫開發(fā)的。通過libjingle我們可以建立一個直通的網(wǎng)絡(luò)連接(無視中間的NAT、防火墻、中繼服務(wù)器和代理等),無需特別關(guān)心Session建立的細(xì)節(jié)(加解密、格式等),直接進(jìn)行數(shù)據(jù)的交換。它也實現(xiàn)了一些輔助的功能,例如XML的解析和網(wǎng)絡(luò)代理的處理。我們通過它可以實現(xiàn)如下的應(yīng)用:

            ·一個多用戶的語音聊天應(yīng)用

            ·一個多用戶的視頻會議應(yīng)用

            ·一個多用戶的現(xiàn)場音樂、流媒體應(yīng)用

            ·一個點到點的文件傳輸和共享的應(yīng)用

            目前庫的版本是0.7.1(2012102日發(fā)布),支持WindowsUNIX/Linux開源許可用的是Berkeley-style,這也就意味著,可以任意的修改和擴(kuò)展它來更好的滿足自己產(chǎn)品的需要。

            庫的SVN路徑:http://libjingle.googlecode.com/svn/trunk/talk

                   值得注意的是:

                Libjingle庫本身的實現(xiàn)依賴于一些第三方庫,例如: 語音聊天依賴于Linphone或者GIPS,這取決于使用者的平臺

                Libjingle只是一個客戶端的實現(xiàn), relay Server協(xié)議和STUN協(xié)議(如果需要),還需要自己實現(xiàn)

            實現(xiàn)relay Server后的網(wǎng)絡(luò)結(jié)構(gòu)(STUN使用 網(wǎng)絡(luò)上現(xiàn)有的,例如Google等公司提供的公有STUN服務(wù)器)

            實現(xiàn)relay ServerSTUN Server后的網(wǎng)絡(luò)結(jié)構(gòu):


            STUN協(xié)議的實現(xiàn)不難,網(wǎng)上也有很多開源的代碼實現(xiàn),關(guān)鍵是需要一些資源的部署(需要兩個公網(wǎng)IP)

             

            P2P的關(guān)鍵實現(xiàn)在客戶端,通過使用libjingle我們可以快速的構(gòu)造一個健壯高效的P2P Client,如果僅僅是實現(xiàn)類似于Skype或者QQ那樣的兩人或者幾人聊天,服務(wù)器方面實現(xiàn)就非常容易。但是如果要實現(xiàn)大用戶參與的語音室,那么我們就得專注于服務(wù)器廣播包的優(yōu)化了。
                                                                                             by peakflys 16:53:47 Wednesday, January 30, 2013

            posted on 2013-01-30 16:54 peakflys 閱讀(17825) 評論(3)  編輯 收藏 引用 所屬分類: P2P

            評論

            # re: Libjingle庫 綜述 2013-01-30 23:04 免費空間

            寫的挺好 這個是樓主翻譯的 還是個人寫作的?  回復(fù)  更多評論   

            # re: Libjingle庫 綜述 2013-01-31 11:21 peakflys

            文章黑體字部分還有圖片來自Google的英文開發(fā)文檔,文檔首頁見:https://developers.google.com/talk/libjingle/index @免費空間  回復(fù)  更多評論   

            # re: Libjingle庫 綜述 2014-07-06 20:52 呆賊兄

            你好,請問有TURN server的源碼實例嗎?想要做一個webrtc的轉(zhuǎn)發(fā)服務(wù)器。有相關(guān)經(jīng)驗可以傳授嗎?  回復(fù)  更多評論   

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

            導(dǎo)航

            統(tǒng)計

            公告

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

            常用鏈接

            留言簿(4)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            狠狠色丁香婷综合久久| 久久精品国产精品亚洲艾草网美妙 | 9久久9久久精品| 久久er热视频在这里精品| 嫩草影院久久国产精品| 日日狠狠久久偷偷色综合免费 | 久久精品国产亚洲Aⅴ蜜臀色欲| 久久黄视频| 亚洲中文久久精品无码ww16 | 91久久精品无码一区二区毛片| 久久夜色精品国产| 久久久亚洲欧洲日产国码aⅴ| 日韩欧美亚洲综合久久影院Ds| 午夜欧美精品久久久久久久| 久久av免费天堂小草播放| 人妻精品久久无码区 | 亚洲AV无码1区2区久久| 精品久久久久中文字幕一区| 日韩精品久久久肉伦网站| 久久亚洲国产精品123区| 久久精品人人做人人爽电影蜜月| 久久久这里有精品中文字幕| 国产精品久久久亚洲| 久久精品国产乱子伦| 久久99久久无码毛片一区二区| 精品蜜臀久久久久99网站| 亚洲欧美成人综合久久久| 污污内射久久一区二区欧美日韩| 久久九九全国免费| 国产综合久久久久久鬼色| 日本久久久久亚洲中字幕| 伊人情人综合成人久久网小说| 久久99精品国产麻豆蜜芽| 亚洲国产精品久久66| 亚洲国产天堂久久综合网站| 久久国产高潮流白浆免费观看| 狠狠综合久久AV一区二区三区| 伊人久久亚洲综合影院| 欧美午夜A∨大片久久 | 久久精品久久久久观看99水蜜桃| 久久久久久久综合日本|