接下來幾天,我們會實作一個一對一視訊通話的案例,我們會建立一個 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 |
join
發送要加入哪個房間的信令join
並對除了自己房間的所有人發送 ready
ready
後會發送 offer
offer
後,不做任何處理直接做轉發給 Client (Alice)offer
後,會建立 answer
,一樣透過 Signaling server 直接轉發candidates
也是透過 Signaling server 直接轉發