Day21 [实作] 一对一视讯通话(1): 运作说明

接下来几天,我们会实作一个一对一视讯通话的案例,我们会建立一个 client 端给使用者视讯使用 以及一个 signaling server用於信令的传输,最後接上我们前面架好的 turn server,今天先来说明整个流程和信令的设计。

信令说明

信令 说明 方向
join 使用者加入房间 client → server
ready 其他使用者加入房间(准备通话) server → client
offer client 建立 offer 并透过 signaling server 转发 clientA → server → clientB
answer client 收到 offer 後 建立 answer 并透过 signaling server 转发 clientB → server → clientA
ice_candidate 找寻到 ICE 候选位置後,送去 signaling server 与另一位配对 clientA ↔ server ↔ clientB

流程

https://ithelp.ithome.com.tw/upload/images/20211004/20130062jrjMruhgnF.png

  1. Client (Bob) 与 Client (Alice) 使用,Socket.io 与 Signaling server 连线
  2. Client (Bob) 与 Client (Alice)分别对 join 发送要加入哪个房间的信令
  3. Signaling server 会订阅 join 并对除了自己房间的所有人发送 ready
  4. Client (Bob) 收到 ready 後会发送 offer
  5. Signaling server 收到 offer 後,不做任何处理直接做转发给 Client (Alice)
  6. Client (Alice) 收到 offer 後,会建立 answer,一样透过 Signaling server 直接转发
  7. Client (Bob) 与 Client (Alice) 收集完各自的 candidates 也是透过 Signaling server 直接转发

<<:  Day35 ( 电子元件 ) LED 显示温湿度 ( DHT11 )

>>:  day 27 - 持续改善, 持续优化, 持续重构

Day5 Game Frontend

今天我们来了解一下 Game Frontend 这个须由我们实作的部件,在 Open-Match 所...

Tableau Server 使用-管理跟大规模自助式分析并无矛盾(课程推荐)

你觉得Tableau Server让你最困扰的点是什麽? 没有管理,就无法成就自助分析 你也跟第一位...

# Day 26 Page migration (一)

文件 原文文件:Page migration 翻译: .. _page_migration: ===...

基础建设: 系统监控与告警

系统架构 系统监控是维护资源可靠性、可用性与效能的重要环节。 指标计算 即时计算:即时的本地服务指标...

[Python 爬虫这样学,一定是大拇指拉!] DAY06 - URL / URN / URI (2)

虽然 URN 跟後面的爬虫没什麽关系,既然前篇文章都提到了,就稍微介绍一下它的语法好了。 URI 之...