WebRTC

WebRTC

名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支
持网页浏览器进行实时语音对话或视频对话的API。

WebRTC是由Google主导的,由一组标准、协议和JavaScript API组成,用于实现浏览器之间(端到端之
间)的音频、视频及数据共享。

官网

https://www.w3.org/TR/webrtc/

RTP协议(RFC3550)

实时传输协议(RTP)
用于音频数据(RTP),另一个用于控制包(RTCP)

SDP(RFC4566)

Session Description Protocol

SDP协议主要包含:
SDP包括以下一些方面:
(1)会话的名称和目的
(2)会话存活时间
(3)包含在会话中的媒体信息,包括: 媒体类型(video,audio, etc) 传输协议(RTP/UDP/IP,H.320, etc) 媒体格式(H.261 video, MPEG video, etc) 多播或远端(单播)地址和端口
(4)为接收媒体而需的信息(addresses, ports, formats and so on)
(5)使用的带宽信息
(6)可信赖的接洽信息(Contact information)

TURN(RFC5766)

ICE(RFC5245)
ICE全称Interactive Connectivity Establishment:交互式连通建立方式。ICE参照RFC5245建议实现,
是一组基于offer/answer模式解决NAT穿越的协议集合。它综合利用现有的STUN,TURN等协议,以更
有效的方式来建立会话。客户端侧无需关心所处网络的位置以及NAT类型,并且能够动态的发现最优的
传输路径。

Socket.IO

https://socket.io/
https://socket.io/docs/v4

应用场景

  • 实时分析:将数据推送到客户端,客户端表现为实时计数器、图表、日志客户。
  • 实时通讯:聊天应用
  • 二进制流传输:socket.io支持任何形式的二进制文件传输,例如图片、视频、音频等。
  • 文档合并:允许多个用户同时编辑一个文档,并能够看到每个用户做出的修改

WebSocket 原理

WebSocket是一种双向通信协议,它建立在TCP之上,同HTTP一样通过TCP来传输数据,但与HTTP最
大不同的是:

  • WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UserAgent都能
    主动的向对象发送或接收数据,就像Socket一样,不同的是WebSocket是一种建立在Web基础上
    的简单模拟Socket的协议。
  • WebSocket需要通过握手连接,类似TCP也需要客户端和服务端进行握手连接,连接成功后才能相
    互通信。


    image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容