文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

WebRTC简介

2023-08-18 20:50

关注

WebRTC(Web Real-Time Communication)(网页实时通信)是一个谷歌开源项目,它提供了一套标准API,使Web应用可以直接提供实时音视频通信功能,不再需要借助任何插件。

WebRTC的优点

WebRTC的作用

音视频会议、在线教育、即时通信工具、游戏、人脸识别

WebRTC一对一通话原理

WebRTC由四部分组成,分别为两个WebRTC终端、一个信令服务器、一台中继服务器(STUN/TURN)和两个NAT,这是最经典的一对一通信架构。

通话过程需要三个主要步骤分别是:媒体协商、网络协商、建立连接。

媒体协商

首先两个客户端想要创建连接,一般来说需要有一个双方都能访问的服务器来帮助它们交换连接所需要的信息。这个服务器叫做信令服务器。

与服务器建立连接后,通信的双方就可以通过信令服务器彼此交换必要的信息了,比如告诉对方自己的外网IP地址和端口是多少等。

双方交换的媒体数据由SDP(Session Description Protocol,会话描述协议)描述

网络协商

在交换信息之前WebRTC终端还要与STUN/TURN服务器建立连接。这样做的目的是通过STUN/TURN服务器获得各自的外网IP地址和端口。

WebRTC终端拿到自己的外网IP地址和端口后,再通过信令服务器交换给对方。当彼此获得对方地址后,它们就可以尝试NAT穿越,进行P2P连接了。这个过程涉及NAT及ICE协议。

STUN

STUN是指简单UDP穿透NAT,这项技术允许位于NAT后的客户端找出自己的公网IP地址,以及查出自己位于哪种类型的NAT及NAT所绑定的Internet端口。

TURN

TURN是指使用中继穿透NAT,是STUN的一个扩展,主要添加了中继功能。

如果终端在进行NAT之后,在特定的情景下有可能使得终端无法和其他终端进行直接的通信,这时就需要将公网的服务器作为一个中继,对来往的数据进行转发。这个转发采用的协议就是TURN。

建立连接

  1. 连接双方通过第三方服务器即信令服务器来交换各自的SDP数据。
  2. 连接双方通过STUN协议从STUN服务器那里获取到自己的NAT结构、子网IP和公网IP、端口,即Candidate信息。
  3. 连接双方通过第三方服务器来交换各自的Candidate,如果连接双方在同一个NAT下,那它们仅通过内网Candidate就能建立起连接;如果它们处于不同NAT下,就需要通过STUN服务器识别出的公网Candidate进行通信。
  4. 如果仅通过STUN服务器发现的公网Candidate仍然无法建立连接,这就需要寻求TURN服务器提供的转发服务,然后将转发形式的Candidate共享。

来源地址:https://blog.csdn.net/qq_40850839/article/details/127891945

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯