前面说到 WebRTC 使用 Signaling server 来交换媒体资讯与网路候选者的讯息,所以 Signaling server 承担着通话是否能接通的重责大任。但 WebRTC 1.0 规范文档中却没有对 Signaling server 做任何定义,原因是 Signaling server 与应用的商业逻辑密切相关,有些应用不需要多人通话,有些需要多人互动,如果去规范就会失去很大的弹性,不如就不去约束了,而 WebRTC 就只需要专注在影音处理、网路处理,任何能够进行网路资料交换的技术都可以用来实现 Signaling server,如HTTP、XMPP及WebSocket等。
通常我们使用 WebSocket 与 Signaling server 之间进行连接。由於 WebSocket 是双向通信协议,服务器可以很容易的发送资料给使用者。听起来感觉很感觉很复杂,但其实就是一系列 WebSocket 请求,开发者可以自定义 RequestBody 的内容。
Signaling Server 有点像是交友软件,下载 APP 注册帐号时我们就要填写我们的个人讯息,当有人想认识你时,对方可以看到我们的个人资讯,我们也可以看到对方的资讯,觉得个性兴趣相辅後我们可以进行联系,熟识後可以约出来吃饭聊天。
是不是很像上一篇提到的流程:
RTCPeerConnection.createOffer
建立一个 offer ,并呼叫 setLocalDescription
设定本地的 SDP。setRemoteDescription
设定 Bob 的 SDP。RTCPeerConnection.createAnswer
建立一个 answer ,并呼叫 setLocalDescription
设定本地的 SDP。setRemoteDescription
设定 Alice 的SDP
<<: Day5 - 2D渲染环境基础篇 II - 成为Canvas Ninja ~ 理解2D渲染的精髓
>>: 【Day20】比较Nodelist与HTML collection的差异
讲完一开始的设置,紧接着就要到关键的程序部份了,而所谓的HTML是属於一种标签语言,本身并没有一般程...
闹钟 # cogs/......略 @commands.command() async def cl...
看完这篇文章你会得到的成果图 前言 我们接下来的讨论,会基於读者已经先读过我 day5 文章 的架构...
一天始於前一天的30分钟。 回应生活来说, 就像我们会在重要日子的前一晚 确认充足,好好准备。 隔天...
Strategies: 交易成本的正负号写反了,最近用一小时线测试才发现这件事 把交易成本设定移到前...