WebRTC → 信令服务器

相关简介

信令:驱动系统运转。控制各个模块的前后调用关系;业务不同,逻辑不同,信令也会千差万别

要实现一对一通信,驱动系统的核心就是信令。信令控制着系统各个模块之间的前后调用关系,比如当收到用户成功加入房间后,系统需要立即将RTCPeerConnention对象创建好,以便向STUN/TURN服务器请求外网的IP地址和端口;而当收到另一个用户加入房间的消息时,系统需要将自己的外网IP地址和端口交换给对方,从而建立起Socket连接;

WebRTC使用信令服务器交换媒体信息网络候选者信息,信令服务器承担着消息传输和交换的工作,WebRTC规定了信令服务器的实现方式:任何能够进行网络信息交换的技术都可以用来实现信令服务器,如HTTP、XMPP及WebSocket

信令服务器主要作用
  • 实现业务层管理* 如用户创建房间,加入房间,退出房间等* 确定何时初始化、关闭和修改通话会议,也可以进行错误报告
  • 让通信双方彼此交换网络信息* 最常见的是交换通信双方的IP地址和端口 - ICE Candidate* 两个WebRTC之间会尽可能选择P2P进行传输,同一个局域网内直接通过P2P进行传输,不同局域网内需要使用P2P穿越后进行数据传输,P2P穿越成功后直接传输,失败后进行中转等 - 后续的候选人中进行解说
  • 通信双方交换媒体信息* 媒体信息用SDP来表示,这个SDP可以简单理解为:媒体类型的编码器是什么、是否支持该媒体类型和对应的编码器、编码方式是什么等
最简单的信令系统的分类
  • 客户端发送给服务器的信令
  • 服务端发送给客户端的信令
常见的信令系统
  • 客户端* 用户加入房间 - join* 用户离开房间 - leave* 端到端的命令 - message
  • 服务端* 用户已加入 - joined* 用户已离开 - left* 其他用户已加入 - other_joined* 其他用户已离开 - bye* 房间已满 - full
信令传输协议的选择

一般选择TCP或者基于TCP的HTTP/HTTPS、WS/WSS等协议作为信令服务器的传输协议;

  • 原因一:TCP是可靠的传输协议,可以保证传输的数据可靠、有序到达
  • 原因二:TCP上传输数据是流式的,不必担心传输的数据过大导致的拆包传输的问题
信令服务器的常见特点
  • 可以同时支撑多个WebRTC通话环境,即多个房间,且房间之间互不影响
  • 每个房间的参与人数不受限制
  • 实时性好,不可有明显的延时
  • 支持可靠的信令传输,发送者要知道明确的发送反馈,即使发送失败了
  • 性能好、可拓展性要好,要兼顾后续的拓展功能如传输应用数据等
信令时序

在发送信令前,各端需要先与信令服务器SigServer建立连接,建立连接后终端会向信令服务器发送join消息,服务器收到该消息后会返回joined消息(信令服务器在收到该信令后,会先将该用户加入服务器管理的房间,然后向客户端返回joined信令),标识已加入房间,同理其他用户加入也是类似只是会收到otherjoin的消息;> 房间:房间服务器将多端聚集到一起管理;

WebRTC信令如何工作
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值