libjingle翻译之《Important Concepts(重要概念)之Connections(链接)》

Connections(链接)

一个p2p的链接实际上由两个通道组成。

●  session negotiation channel(也称作signaling channel),会话协商通道。是为数据链接服务的沟通通道。这个通道被用来回应取得一个链接的请求,交换候选,和协商会话的细节(比如:套接字地址,需要的编码方案,交换的文件,链接改变请求,终止请求)。这个通道是两个计算机之间建立的第一个链接,也只有这个链接成功之后,两个计算机之间的数据链接才能被建立。libjingle通过发送一个指定的前导协议节发出一次响铃并收到一个回应,数据链接则被建立(see Jingle and libjingle)。这个通道发送协议节是通过XMPP 服务器这一中间机构进行的,例子中的代码是把Google Talk服务器当作中间机构用的。

● data channel  (娄据通道,数据链接)这个通道传送的是p2p两端真正交换的数据(语音,视频,文件等),数据通道里的数据被TCP或UDP包封装,到底是TCP还是UDP这要视协商的传送方式,这些包并没有经过XMPP服务器。

会话协商通道首先被建立,它作为计算机间协商建立数据通道细节的通道。数据通道被成功建立之后,在这个通道上将发生许多数据活动,除非碰到改变编码请求,新文件请求,重传请求,或终止请求。

 

注意:

1、libjingle不时地发送出心跳包(STUN),来维持一个链接可写入,保持防火墙和NAT地址绑定处于活动态,并且还可用来检查潜在的链接。

2、linjingle向链接端口分配用户名和密码。此举用来确定当前链接的数据通道就是在会话协商通道上协商好的数据通道。因为用户名和密码是被XMPP发出的,也许没有经过TLS的加密,心跳包中的用户名和密码只是身份的标识,并没有加密验证。

运行 file share 例子程序,可以看到发出的真实协议节。

时间: 2024-09-25 07:38:52

libjingle翻译之《Important Concepts(重要概念)之Connections(链接)》的相关文章

libjingle翻译之《Important Concepts(重要概念)之Signals (信号)》

Important Concepts(重要概念) 你应该理解libjingle中以下的重要概念: ● Signals                                          (信号) ● Threads and Messages                     (线程.消息) ● Naming Conventions                        (命名约定) ● SSL Support                              

libjingle Important Concepts

Important Concepts You should understand the following important concepts about libjingle: Signals Threads and Messages Naming Conventions SSL Support Connections Transports, Channels, and Connections Candidates Data Packets Signals libjingle uses th

libjingle翻译之《Important Concepts(重要概念)之Candidates(候选)》

Candidates(候选) libjingle一个主要的好处就是它可以穿透防火墙和NAT设备进行链接协商.libjingle使用ICE机制穿透防火墙.libjingle应用程序第一步要做的就是在试图协商一个链接时为其它计算机的链入创建一个潜在的本地端口地址链表.链表中的每个潜在的地址就称作一个候选.候选就是"IP地址:端口"对应对,这些对应对使应用程序和其它计算机互联(技术上,这些对应对只在本地机上监听).libjingle提供了强壮的机制在本地链接上发现候选供其它计算机进入,甚至穿

libjingle翻译之《Important Concepts(重要概念)之Transports, Channels, and Connections(传输、通道、链接)》

Transports, Channels, and Connections(传输.通道.链接) 每个p2pTransportChannel代表了本地机与远程机的数据通道.这个通道实际上包含着(隐藏着)一个设计复杂而健壮的体系.P2PTransportChannel管理着大量的不同的Connection对象,每个对象代表了一个不同种类的链接(UDP,TCP等).一个Connection对象实际上封装了一对对象:一个Port子类,代表了本地链接,和一个代表远程机的地址.如果一个链接无效,P2pTra

C++内存管理学习笔记(5)

/****************************************************************/ /*            学习是合作和分享式的! /* Author:Atlas                    Email:wdzxl198@163.com  /*  转载请注明本文出处: *   http://blog.csdn.net/wdzxl198/article/details/9112123 /************************

Device Tree Usage 【转】

转自:http://blog.chinaunix.net/uid-20522771-id-3457184.html   原文链接:http://devicetree.org/Device_Tree_Usage#How_Interrupts_Work   Device Tree Usage 设备树使用手册 This page walks through how to write a device tree for a new machine. It is intended to provide a

gatling官方文档翻译

第一篇 http://gatling.io/docs/2.2.1/index.html Gatling is a highly capable load testing tool. It is designed for ease of use, maintainability and high performance. Out of the box, Gatling comes with excellent support of the HTTP protocol that makes it a

网站优化之谷歌切词研究

在平时我们使用搜索引擎的时候,我们通常都是输入一个词语进行搜索,比如我们要去南部旅游,通常输入有名的旅游胜地的名字,如垦丁公园,西子湾,四重溪等这些名字,对要去的地点搜索了解,这些我们常用来搜索的字词称之为搜索关键字.很少人输入一句完整的话进行搜索. 所以很多的SEO就研究什麽样的词语会是线上浏览者经常用来搜索的,然后针对目标关键字对网站进行优化,还有一件事情是SEO们对网站进行优化时是必须要做的,就是研究一个网页包括网页标题,网页内容描述,网页段落的组织,关键字的密度的分析等这个工作对一个网页

Redesign再设计

一个网站的核心是它的功能和内容,而设计则决定了这些功能.内容如何被组织和展现出来. 对已成功的网站进行再设计--重新构造它的组织和展现形式是具有挑战性的.偏偏有设计师喜欢迎难而上,尝试对facebook.google这些著名网站进行概念设计.他们通常有两条思路,一是对现有问题挖掘然后改进,二是提出完全创新的想法. 下面收集整理+翻译了一些设计师的概念设计成果,其中各有优劣,有的交互让人眼前一亮,有的视觉表现优秀,有的缺乏实现的可能性,希望这些设计以及设计思路能给各位带来一些灵感. Faceboo