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

Libjingle和各协议的关系

Jun 13, 2016 am 10:54 AM
the xmpp satu perhubungan protokol dan teras daripada Berkaitan pengenalan

 

一、相关协议简介

·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协议)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

2 bulan kemudian, robot humanoid Walker S boleh melipat pakaian 2 bulan kemudian, robot humanoid Walker S boleh melipat pakaian Apr 03, 2024 am 08:01 AM

Editor Laporan Kuasa Mesin: Wu Xin Versi domestik robot humanoid + pasukan model besar menyelesaikan tugas operasi bahan fleksibel yang kompleks seperti melipat pakaian buat kali pertama. Dengan pelancaran Figure01, yang mengintegrasikan model besar berbilang modal OpenAI, kemajuan berkaitan rakan domestik telah menarik perhatian. Baru semalam, UBTECH, "stok robot humanoid nombor satu" China, mengeluarkan demo pertama robot humanoid WalkerS yang disepadukan secara mendalam dengan model besar Baidu Wenxin, menunjukkan beberapa ciri baharu yang menarik. Kini, WalkerS, diberkati oleh keupayaan model besar Baidu Wenxin, kelihatan seperti ini. Seperti Rajah01, WalkerS tidak bergerak, tetapi berdiri di belakang meja untuk menyelesaikan satu siri tugasan. Ia boleh mengikut perintah manusia dan melipat pakaian

Penanda Aras Prestasi ORM Python: Membandingkan Rangka Kerja ORM Berbeza Penanda Aras Prestasi ORM Python: Membandingkan Rangka Kerja ORM Berbeza Mar 18, 2024 am 09:10 AM

Rangka kerja pemetaan hubungan objek (ORM) memainkan peranan penting dalam pembangunan ular sawa, ia memudahkan akses dan pengurusan data dengan membina jambatan antara objek dan pangkalan data hubungan. Untuk menilai prestasi rangka kerja ORM yang berbeza, artikel ini akan menanda aras terhadap rangka kerja popular berikut: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Kaedah Ujian Penanda aras menggunakan pangkalan data SQLite yang mengandungi 1 juta rekod. Ujian melakukan operasi berikut pada pangkalan data: Masukkan: Masukkan 10,000 rekod baharu ke dalam jadual Baca: Baca semua rekod dalam jadual Kemas kini: Kemas kini satu medan untuk semua rekod dalam jadual Padam: Padam semua rekod dalam jadual Setiap operasi

Aplikasi Python ORM dalam projek data besar Aplikasi Python ORM dalam projek data besar Mar 18, 2024 am 09:19 AM

Pemetaan hubungan objek (ORM) ialah teknologi pengaturcaraan yang membolehkan pembangun menggunakan bahasa pengaturcaraan objek untuk memanipulasi pangkalan data tanpa menulis pertanyaan SQL secara langsung. Alat ORM dalam python (seperti SQLAlchemy, Peewee dan DjangoORM) memudahkan interaksi pangkalan data untuk projek data besar. Kelebihan Kesederhanaan Kod: ORM menghapuskan keperluan untuk menulis pertanyaan SQL yang panjang, yang meningkatkan kesederhanaan dan kebolehbacaan kod. Abstraksi data: ORM menyediakan lapisan abstraksi yang mengasingkan kod aplikasi daripada butiran pelaksanaan pangkalan data, meningkatkan fleksibiliti. Pengoptimuman prestasi: ORM sering menggunakan operasi caching dan kelompok untuk mengoptimumkan pertanyaan pangkalan data, dengan itu meningkatkan prestasi. Mudah alih: ORM membenarkan pembangun untuk

Ringkas dan mudah difahami: analisis mendalam tentang maksud protokol pip Ringkas dan mudah difahami: analisis mendalam tentang maksud protokol pip Feb 02, 2024 pm 01:10 PM

Untuk menganalisis secara mendalam maksud protokol pip, contoh kod khusus diperlukan Pengenalan: Dalam dunia Python, pip (iaitu pipinstall) ialah cara pilihan kami untuk memasang dan mengurus perpustakaan pihak ketiga. Ia adalah alat pengurusan pakej Python Ia digunakan secara meluas dalam proses pembangunan kerana kesederhanaan, kecekapan, kemudahan penggunaan dan kemudahannya. Artikel ini akan menganalisis secara mendalam maksud protokol pip, menunjukkan peranan penting dan penggunaan pip melalui contoh kod tertentu, dan membantu pembaca memahami dan menggunakan pip dengan lebih baik. 1. protokol pip

Adakah teras Golang terhad kepada operasi teras tunggal? Adakah teras Golang terhad kepada operasi teras tunggal? Feb 29, 2024 pm 06:39 PM

"Adakah teras Golang terhad kepada operasi teras tunggal? 》Golang, sebagai bahasa pengaturcaraan moden, mempunyai prestasi cemerlang dalam pemprosesan dan prestasi serentak. Walau bagaimanapun, ada yang mempersoalkan sama ada teras Golang terhad kepada operasi teras tunggal. Dalam artikel ini, kami akan meneroka ciri keselarasan Golang dan prestasinya pada pemproses berbilang teras, dan menjawab soalan ini melalui contoh kod konkrit. Golang mempunyai reka bentuk dan sokongan yang mendalam untuk pemprosesan serentak di peringkat bahasa. Ia menggunakan goroutin

Penyelidikan tentang hubungan antara sistem Huawei Hongmeng dan Android Penyelidikan tentang hubungan antara sistem Huawei Hongmeng dan Android Mar 23, 2024 am 11:54 AM

Penyelidikan tentang hubungan antara sistem Huawei Hongmeng dan Android Dengan perkembangan teknologi yang berterusan, telefon pintar telah menjadi bahagian yang amat diperlukan dalam kehidupan manusia. Sebagai salah satu pengeluar telefon mudah alih terkemuka dunia, Huawei sentiasa berinovasi dan komited untuk menyediakan sistem pengendalian mudah alih dan pengalaman pengguna yang lebih baik. Dalam beberapa tahun kebelakangan ini, dengan penindasan Amerika Syarikat terhadap Huawei, Huawei telah mula mempercepatkan pembangunan sistem pengendaliannya sendiri, dan HarmonyOS wujud. Dalam konteks ini, orang ramai telah mula memberi perhatian kepada hubungan antara Sistem Hongmeng dan Android. Pertama, kita perlu faham

Laksanakan ketekunan data yang cekap menggunakan Python ORM Laksanakan ketekunan data yang cekap menggunakan Python ORM Mar 18, 2024 am 09:25 AM

Pemetaan hubungan objek (ORM) ialah teknologi yang membolehkan membina jambatan antara bahasa pengaturcaraan berorientasikan objek dan pangkalan data hubungan. Menggunakan pythonORM boleh memudahkan operasi kegigihan data dengan ketara, dengan itu meningkatkan kecekapan pembangunan aplikasi dan kebolehselenggaraan. Kelebihan Menggunakan PythonORM mempunyai kelebihan berikut: Kurangkan kod boilerplate: ORM secara automatik menjana pertanyaan sql, dengan itu mengelakkan menulis banyak kod boilerplate. Permudahkan interaksi pangkalan data: ORM menyediakan antara muka bersatu untuk berinteraksi dengan pangkalan data, memudahkan operasi data. Tingkatkan keselamatan: ORM menggunakan pertanyaan berparameter, yang boleh menghalang kelemahan keselamatan seperti suntikan SQL. Galakkan ketekalan data: ORM memastikan penyegerakan antara objek dan pangkalan data serta mengekalkan ketekalan data. Pilih ORM untuk dimiliki

Terokai hubungan antara sistem Android dan kernel Linux Terokai hubungan antara sistem Android dan kernel Linux Mar 14, 2024 pm 12:48 PM

Sistem Android dan kernel Linux adalah dua entiti yang berkait rapat, dan hubungan antara mereka adalah rapat dan kompleks. Dalam sistem Android, kernel Linux memainkan peranan penting, menyediakan pemacu perkakasan asas dan sokongan panggilan sistem untuk sistem Android. Artikel ini akan meneroka hubungan antara sistem Android dan kernel Linux, cara ia berinteraksi dan berfungsi bersama, serta menyediakan beberapa contoh kod khusus. Android ialah sistem pengendalian mudah alih yang dibangunkan berdasarkan kernel Linux dan digunakan terutamanya untuk peranti mudah alih seperti telefon pintar dan tablet. L

See all articles