iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
Modern Web

後疫情時代的 WebRTC 微學習系列 第 30

Day30 WebRTC 一對多連線

  • 分享至 

  • xImage
  •  

上一篇我們使用 addTransceiver 單向接收串流 ,但是卻不能兩個人一起接收,今天我們要來改善這一點,主要問題是因為我們在啟動時就建立了單一的 RTCPeerConnection。

解決思路

  1. 在收到 offer 時才建立 PeerConnection
  2. 建立一個字典來管理所有 PeerConnection ,key 為 socket.io 的id
  3. 為了避免字典不斷增長,讓 server 收到斷線消息時發送 bye 來刪除字典內的 PeerConnection

這樣我們就可以建立並管理多個連線,程式碼請參考 Github multiple-user 分支

❯ git clone https://github.com/tc3oliver/one-way-broadcasting.git
❯ cd one-way-broadcasting
❯ git checkout multiple-user
❯ npm install
❯ node server.js

結語

這篇也是鐵人賽的最後一篇,以前都沒有寫文章的習慣,也沒有提前做好參賽準備,導致這一次參賽過程非常艱辛,幾乎每天都寫到半夜,文章的質量也不好,要感謝我的夥伴,我才能堅持寫完這三十天,總不能揪人家參賽,然後自己棄賽吧XD

希望明年可以再參賽,期待明年的累積,希望能寫出更有內容的東西。

最後附上夥伴的連結,對 Flutter 跨平台移動端開發有興趣可以參觀一下

Flutter with GetX, loading*175%歷程


上一篇
Day29 使用 addTransceiver 單向接收串流
系列文
後疫情時代的 WebRTC 微學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-14 11:51:55

恭喜完賽/images/emoticon/emoticon12.gif

smilenccc iT邦新手 5 級 ‧ 2022-03-30 14:27:22 檢舉

感謝你的文章,受益頗多。有些地方對新手比較難以了解,未來可以出書的話,希望能夠詳細說明。

我要留言

立即登入留言