首頁 php教程 php手册 Libjingle和各协议的关系

Libjingle和各协议的关系

Jun 13, 2016 am 10:54 AM
the xmpp 關係 協定 核心 相關 簡介

 

一、相关协议简介

·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类型并且有了公网IP和port,P2P就方便多了。

 

     ·ICE协议:

 

全称:Interactive Connectivity Establishment,即 交互式连接建立,说白了,它就是利用STUN和TURN等协议找到最适合的连接。

 

二、Libjingle和各协议的关系

 

Jingle协议的发起方是Google,而libjingle库也是Google公司实现,ICE协议又基本包含在Jingle协议里,所以只需要知道libjingle和Jingle协议的区别即可。www.2cto.com

 

历史:Libjingle大概和jingle XMPP 扩展在同一时间被建立。Libjingle的团队建立了他们自己的协议去处理回话协商,后来和使用标准化的jingle(基于XMPP的标准)一起工作。尽管,jingle和libjingle是非常相似的,但是它们是不一样的,而且不能共同使用。现在libjingle的源码版本依然使用原始的网络协议,跟以前的稍微有些不同,而且无法兼容jingle的规范。不过它还是足够的接近jingle,所以学习jingle的说明书是值得的。类似的“接近但不是一样”,libjingle的视频内容描述(早期的jingle的视频内容描述格式XEP-0167),ICE的传输描述(早期的jingle的ICE传输XEP-0176),以及流的UDP描述(早期的jingle流UDP的传输描述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协议)

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

2 個月不見,人形機器人 Walker S 會摺衣服了 2 個月不見,人形機器人 Walker S 會摺衣服了 Apr 03, 2024 am 08:01 AM

機器之能報道編輯:吳昕國內版的人形機器人+大模型組隊,首次完成疊衣服這類複雜柔性材料的操作任務。隨著融合了OpenAI多模態大模型的Figure01揭開神秘面紗,國內同行的相關進展一直備受關注。就在昨天,國內"人形機器人第一股"優必選發布了人形機器人WalkerS深入融合百度文心大模型後的首個Demo,展示了一些有趣的新功能。現在,得到百度文心大模型能力加持的WalkerS是這個樣子的。和Figure01一樣,WalkerS沒有走動,而是站在桌子後面完成一系列任務。它可以聽從人類的命令,折疊衣物

Python ORM 效能基準測試:比較不同 ORM 框架 Python ORM 效能基準測試:比較不同 ORM 框架 Mar 18, 2024 am 09:10 AM

物件關聯映射(ORM)框架在python開發中扮演著至關重要的角色,它們透過在物件和關聯式資料庫之間建立橋樑,簡化了資料存取和管理。為了評估不同ORM框架的效能,本文將針對以下流行框架進行基準測試:sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM測試方法基準測試使用了一個包含100萬筆記錄的SQLite資料庫。測試對資料庫執行了以下操作:插入:向表中插入10,000條新記錄讀取:讀取表中的所有記錄更新:更新表中所有記錄的單一欄位刪除:刪除表中的所有記錄每個操作

Python ORM 在大數據專案的應用 Python ORM 在大數據專案的應用 Mar 18, 2024 am 09:19 AM

物件關係映射(ORM)是一種程式設計技術,允許開發人員使用物件程式語言來操作資料庫,而無需直接編寫sql查詢。 python中的ORM工具(例如SQLAlchemy、Peewee和DjangoORM)簡化了大數據專案的資料庫互動。優點程式碼簡潔性:ORM消除了編寫冗長的SQL查詢的需要,這提高了程式碼簡潔性和可讀性。資料抽象化:ORM提供了一個抽象層,將應用程式程式碼與資料庫實作細節隔離開來,提高了靈活性。效能最佳化:ORM通常會使用快取和批次操作來優化資料庫查詢,從而提高效能。可移植性:ORM允許開發人員在不

簡明易懂:深入剖析pip協定的意義 簡明易懂:深入剖析pip協定的意義 Feb 02, 2024 pm 01:10 PM

深入剖析pip協定的意義,需要具體程式碼範例引言:在Python的世界裡,pip(即pipinstall)是我們安裝和管理第三方函式庫的首選方式。它是Python套件管理工具,以其簡潔高效、易用便利的特點,在開發過程中得到了廣泛的應用。本文將深入剖析pip協定的意義,透過具體的程式碼範例,展示pip的重要角色和使用方法,幫助讀者更好地理解和運用pip。一、pip協議

Golang的核心是否僅限於單核心運行? Golang的核心是否僅限於單核心運行? Feb 29, 2024 pm 06:39 PM

《Golang的核心是否僅限於單核心運行? 》Golang作為一門現代化的程式語言,在並發處理和效能方面有著出色的表現。然而,有人對Golang的核心是否僅限於單核心運行提出了質疑。在本文中,我們將探討Golang的並發特性以及它在多核心處理器上的表現,並透過具體的程式碼範例來解答這個問題。 Golang在語言層面對並發處理進行了深入的設計和支援。它使用goroutin

探討安卓系統與Linux核心的關係 探討安卓系統與Linux核心的關係 Mar 14, 2024 pm 12:48 PM

安卓系統與Linux核心是息息相關的兩個實體,它們之間的關係緊密而又複雜。在安卓系統中,Linux核心扮演著重要的角色,為安卓系統提供了底層的硬體驅動和系統呼叫支援。本文將探討安卓系統與Linux核心之間的關係,以及它們是如何互動、協同工作的,同時提供一些具體的程式碼範例。安卓系統是基於Linux核心開發的行動作業系統,主要用於智慧型手機、平板電腦等行動裝置。 L

使用 Python ORM 實現高效的資料持久性 使用 Python ORM 實現高效的資料持久性 Mar 18, 2024 am 09:25 AM

对象关系映射(ORM)是一种技术,它允许在面向对象编程语言和关系数据库之间建立桥梁。使用pythonORM可以显著简化数据持久性操作,从而提高应用程序的开发效率和可维护性。优势使用PythonORM具有以下优势:减少样板代码:ORM自动生成sql查询,从而避免编写大量的样板代码。简化数据库交互:ORM提供了一个统一的接口,用于与数据库交互,简化了数据操作。提高安全性:ORM使用参数化查询,可以防止SQL注入等安全漏洞。促进数据一致性:ORM确保对象与数据库之间的同步,维护数据一致性。选择ORM有

華為鴻蒙系統與安卓的關係研究 華為鴻蒙系統與安卓的關係研究 Mar 23, 2024 am 11:54 AM

華為鴻蒙系統與安卓的關係研究隨著科技的不斷發展,智慧型手機已成為人們生活中不可或缺的一部分。而作為全球領先的手機製造商之一,華為一直在不斷創新,致力於提供更好的手機作業系統和使用者體驗。近年來,隨著美國對華為的打壓,華為開始加速研發自主作業系統,於是鴻蒙系統(HarmonyOS)應運而生。在此背景下,人們開始關注起了鴻蒙系統與安卓之間的關係。首先,我們需要了解

See all articles