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

简介:

Connections(链接)

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

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

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

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


 

注意:

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

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

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

目录
相关文章
|
5月前
|
机器学习/深度学习 编解码 算法
【博士每天一篇文-算法】Spatially embedded recurrent neural networks reveal widespread links between
本文介绍了空间嵌入循环神经网络(seRNNs)的研究,揭示了结构和功能神经科学发现之间的联系,并展示了seRNNs如何在面临资源限制的同时,通过优化其结构拓扑来解决任务并表现出生物大脑类似的模块化和小世界特性。
24 1
【博士每天一篇文-算法】Spatially embedded recurrent neural networks reveal widespread links between
|
敏捷开发
一分钟搞懂 FAST Agile
一分钟搞懂 FAST Agile
231 0
一分钟搞懂 FAST Agile
|
内存技术 Go Windows
带你读《计算机组成与体系结构:性能设计(英文版·原书第10版)》之一:Basic Concepts and Computer Evolution
本书以Intel x86体系结构和ARM两个处理器系列为例,将当代计算机系统性能设计问题与计算机组成的基本概念和原理紧密联系起来,介绍了当代计算机体系结构的主流技术和最新技术。本书作者曾13次获a得美国教材和学术专著作者协会颁发的年度最佳计算机科学教材奖。目前,他是一名独立顾问,为众多计算机和网络制造商、软件开发公司以及政府前沿研究机构提供服务。
|
XML JSON 数据格式
编码与模式------《Designing Data-Intensive Applications》读书笔记5
进入到第四章了,本篇主要聊的点是编码(也就是序列化)与代码升级的一些场景,来梳理存储之中涉及到的编解码的流程。目前主流的编解码便是来自Apache的Avro,来自Facebook的Thrift与Google的Protocolbuf,在本篇之中,我们也会一一梳理各种编码的优点与痛点。
1319 0

热门文章

最新文章

下一篇
开通oss服务