0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解融云的RTC建连过程

kCKU_new_audiop 来源:YXQ 2019-08-14 17:16 次阅读

如上图所示包含有五个角色,分别是Client A、Client A对应的Media Server、IM Server、Client B对应的Media Server、Client B。Client A是通信的发起方,IM Server就是我们的Signal Server。在这个架构里面,我们引入Pub/Sub模型来实现解耦,下面将分两部分讲解。

Pub过程:Client A会利用Smart DNS直接找到自己对应的Media Server,然后调用该Media Server上开放的一个HTTP接口,调用该接口是为了传递传Token、Room ID/Channel ID,以及交换SDP,这个在后面会详细解释。调用完之后,Media Server会返回该Media Server的IP地址和Client A在Media Server上注册后所分配的Resource ID,Resource ID是Client A在Media Server上唯一的身份标识。Client A接收到Media Server返回的信息后就可以直接与Media Server建立RTC连接,接着就可以开始利用信令通道了。之后IM Server要将Client A呼叫Client B的指令Push给Client B,并且会将Media Server返回给Client A的信息直接Send给Client B。此时,Pub过程就完成了。

Sub过程:与前面相同,Client B也要通过Smart DNS找到一个相对来说质量最好的Media Server,然后调用其另外一个接口将刚才传过来的信息告诉这个Media Server。当Client B对应的Media Server拿到了Client A对应的Media Server的信息后,由Resource ID就可以知道要将Client A和Client B之间建立连接,在内部建立关联后返回一个ACK,说明已经调用成功。一旦Client A和Client B建立RTC连接成功后,Client A对应的Media Server和Client B对应的Media Server就建立起了级联。

当RTC的通道连接建立成功后,去中心化完成,此时我们就完成了Media Server和Signal Server之间的解耦。

总结一下,融云的RTC建连过程采用了极简的接口设计。如上述的时序图,有几次HTTP调用实际上全都是通过一个HTTP接口来实现的,而这一个HTTP接口通过传递不同的参数就非常简单的实现了发布/取消发布流,SFU和MCU的订阅/取消订阅。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    501

    浏览量

    31065
  • RTC
    RTC
    +关注

    关注

    2

    文章

    528

    浏览量

    66310

原文标题:新音响精选系列图书即将出版,现有少量广告位预留!

文章出处:【微信号:new_audiophile,微信公众号:新音响】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    元与焱科技AI分布式存储软硬件完成兼容性互认证

    元与焱科技AI分布式存储软硬件完成兼容性互认证
    的头像 发表于 11-20 16:36 110次阅读
    星<b class='flag-5'>融</b>元与焱<b class='flag-5'>融</b>科技AI分布式存储软硬件完成兼容性互认证

    RTC时钟使用指南:简单步骤,实用成果

    今天展示的是RTC时钟使用指南,轻松学习,完美成果。
    的头像 发表于 11-08 11:40 191次阅读
    <b class='flag-5'>RTC</b>时钟使用指南:简单步骤,实用成果

    提升效率:RTC时钟实用设置

    今天来给大家讲解的是RTC时钟实用性,提升绝对的效率。
    的头像 发表于 11-04 16:35 683次阅读
    提升效率:<b class='flag-5'>RTC</b>时钟实用设置

    如何理解计算?

    :**用户可以使用计算来开发和部署各种应用程序,通过平台可以提供灵活的计算资源来支持软件开发和部署的过程。 **数据存储和备份:**用户可以使用计算来存储和备份大量的数据,通过
    发表于 08-16 17:02

    中科驭数“驭”解决方案入选2024中国生态典型应用案例

    2024年7月4日,在全球数字经济大会以“中国生态”为主题的技术创新引领论坛上,中科驭数凭借其卓越的创新能力和深厚的技术积累,其“驭”高性能
    的头像 发表于 08-02 11:30 648次阅读
    中科驭数“驭<b class='flag-5'>云</b>”解决方案入选2024中国<b class='flag-5'>云</b>生态典型应用案例

    什么是RTC模块?

    什么是“RTC”?“RTC”是实时时钟的缩写,它是一种测量时间的电子设备。什么是“RTC模块”?“RTC模块”是一个集成了RTCIC、振荡器电路和主时钟的单封装模块。无需自行设计振荡器
    的头像 发表于 07-24 14:14 358次阅读
    什么是<b class='flag-5'>RTC</b>模块?

    科股份碳匠产品平台获TÜV南德产品碳足迹系统评审声明

    可持续发展之路"主旨论坛,常州市建筑科学研究院集团股份有限公司(以下简称"科股份")中心研究院副院长顾磊博士莅临并做主题发言。论坛期间,TÜV南德为科股份自主研发的碳匠产品平台颁发产品碳足迹系统评审声明。
    的头像 发表于 06-11 09:18 439次阅读
    <b class='flag-5'>建</b>科股份碳匠产品<b class='flag-5'>云</b>平台获TÜV南德产品碳足迹系统评审声明

    RTC和CPU有什么关系

    在现代计算机系统中,实时时钟(RTC, Real-Time Clock)和中央处理单元(CPU, Central Processing Unit)是两个至关重要的组成部分。它们各自承载着不同的功能
    的头像 发表于 05-30 17:07 563次阅读

    爱普生实时时钟模块RTC

    爱普生是一家IC和晶体自主研发的公司,有自己的IC和晶振产线。所以我们能将RTC IC+晶体单元+外结电容封装在一起,组成独立RTC模块。外围不需要在接晶体和匹配电容。爱普生RTC能够简化客户
    发表于 04-17 11:10 0次下载

    RTC碰到LXTAL低频晶振停振怎么办?

    GD32F303的RTC模块框图如下图所示,RTC时钟源可选择HXTAL/128、LXTAL或IRC40K,一般为了实现更精准的RTC时间,MCU系统均会外挂32.768KHz LXTAL低频晶振,
    的头像 发表于 03-29 09:58 554次阅读
    <b class='flag-5'>RTC</b>碰到LXTAL低频晶振停振怎么办?

    RTC电池寿命的评估考虑因素

    本案例是一个带RTC功能的工业产品,RTC部分的供电电路如下下图,产品发往市场半年以后,就提示更换RTC电池,远远低于设计寿命5年。
    发表于 03-15 10:29 568次阅读
    <b class='flag-5'>RTC</b>电池寿命的评估考虑因素

    如何在KW45-EVK上使用RTC

    电子发烧友网站提供《如何在KW45-EVK上使用RTC.pdf》资料免费下载
    发表于 01-03 09:41 0次下载
    如何在KW45-EVK上使用<b class='flag-5'>RTC</b>

    单片机的RTC获取网络时间

    理解网络同步校准RTC的原理需要考虑NTP、SNTP、RTC这三个关键组件的作用和交互。下面详细解释这个过程:1.NTP(NetworkTimeProtocol):协议目的:NTP是用于同步计算机
    的头像 发表于 12-23 08:00 1009次阅读
    单片机的<b class='flag-5'>RTC</b>获取网络时间

    stm32启动过程详解

    STM32启动过程详解 近年来,STM32微控制器在嵌入式系统中的应用越来越广泛。STM32微控制器具有高性能、低功耗、易扩展和丰富的外设接口等优势。而要让STM32微控制器正常工作,首先要了解它
    的头像 发表于 12-08 15:47 1524次阅读

    详解开关电源RCD钳位电路工作过程,为什么它能够吸收能量?

    详解开关电源RCD钳位电路工作过程,为什么它能够吸收能量?
    的头像 发表于 12-06 16:14 1149次阅读
    <b class='flag-5'>详解</b>开关电源RCD钳位电路工作<b class='flag-5'>过程</b>,为什么它能够吸收能量?