如上圖所示包含有五個(gè)角色,分別是Client A、Client A對(duì)應(yīng)的Media Server、IM Server、Client B對(duì)應(yīng)的Media Server、Client B。Client A是通信的發(fā)起方,IM Server就是我們的Signal Server。在這個(gè)架構(gòu)里面,我們引入Pub/Sub模型來實(shí)現(xiàn)解耦,下面將分兩部分講解。
Pub過程:Client A會(huì)利用Smart DNS直接找到自己對(duì)應(yīng)的Media Server,然后調(diào)用該Media Server上開放的一個(gè)HTTP接口,調(diào)用該接口是為了傳遞傳Token、Room ID/Channel ID,以及交換SDP,這個(gè)在后面會(huì)詳細(xì)解釋。調(diào)用完之后,Media Server會(huì)返回該Media Server的IP地址和Client A在Media Server上注冊(cè)后所分配的Resource ID,Resource ID是Client A在Media Server上唯一的身份標(biāo)識(shí)。Client A接收到Media Server返回的信息后就可以直接與Media Server建立RTC連接,接著就可以開始利用信令通道了。之后IM Server要將Client A呼叫Client B的指令Push給Client B,并且會(huì)將Media Server返回給Client A的信息直接Send給Client B。此時(shí),Pub過程就完成了。
Sub過程:與前面相同,Client B也要通過Smart DNS找到一個(gè)相對(duì)來說質(zhì)量最好的Media Server,然后調(diào)用其另外一個(gè)接口將剛才傳過來的信息告訴這個(gè)Media Server。當(dāng)Client B對(duì)應(yīng)的Media Server拿到了Client A對(duì)應(yīng)的Media Server的信息后,由Resource ID就可以知道要將Client A和Client B之間建立連接,在內(nèi)部建立關(guān)聯(lián)后返回一個(gè)ACK,說明已經(jīng)調(diào)用成功。一旦Client A和Client B建立RTC連接成功后,Client A對(duì)應(yīng)的Media Server和Client B對(duì)應(yīng)的Media Server就建立起了級(jí)聯(lián)。
當(dāng)RTC的通道連接建立成功后,去中心化完成,此時(shí)我們就完成了Media Server和Signal Server之間的解耦。
總結(jié)一下,融云的RTC建連過程采用了極簡(jiǎn)的接口設(shè)計(jì)。如上述的時(shí)序圖,有幾次HTTP調(diào)用實(shí)際上全都是通過一個(gè)HTTP接口來實(shí)現(xiàn)的,而這一個(gè)HTTP接口通過傳遞不同的參數(shù)就非常簡(jiǎn)單的實(shí)現(xiàn)了發(fā)布/取消發(fā)布流,SFU和MCU的訂閱/取消訂閱。
-
HTTP
+關(guān)注
關(guān)注
0文章
510瀏覽量
31322 -
RTC
+關(guān)注
關(guān)注
2文章
541瀏覽量
66717
原文標(biāo)題:新音響精選系列圖書即將出版,現(xiàn)有少量廣告位預(yù)留!
文章出處:【微信號(hào):new_audiophile,微信公眾號(hào):新音響】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
RTC時(shí)鐘芯片+電池的應(yīng)用案例(一)
![<b class='flag-5'>RTC</b>時(shí)鐘芯片+電池的應(yīng)用案例(一)](https://file.elecfans.com/web2/M00/7D/C2/pYYBAGN92XSAIJ_mAACf9RjpktA221.png)
RTC與WebRTC的主要區(qū)別
RTC技術(shù)在實(shí)時(shí)通信中的應(yīng)用 RTC與VoIP的區(qū)別
如何理解云計(jì)算?
中科馭數(shù)“馭云”解決方案入選2024中國(guó)云生態(tài)典型應(yīng)用案例
![中科馭數(shù)“馭<b class='flag-5'>云</b>”解決方案入選2024中國(guó)<b class='flag-5'>云</b>生態(tài)典型應(yīng)用案例](https://file1.elecfans.com/web2/M00/01/01/wKgaomasUy2AY1WEAAAuWUoR8Jo792.png)
什么是RTC模塊?
![什么是<b class='flag-5'>RTC</b>模塊?](https://file1.elecfans.com/web2/M00/FE/1E/wKgZomagm8SATz-DAABCvBG2ero510.png)
建科股份碳匠產(chǎn)品云平臺(tái)獲TüV南德產(chǎn)品碳足跡系統(tǒng)評(píng)審聲明
![<b class='flag-5'>建</b>科股份碳匠產(chǎn)品<b class='flag-5'>云</b>平臺(tái)獲TüV南德產(chǎn)品碳足跡系統(tǒng)評(píng)審聲明](https://file1.elecfans.com//web2/M00/ED/7E/wKgaomZlqdOAU8CvAADztt9v8kQ326.jpg)
RTC和CPU有什么關(guān)系
愛普生實(shí)時(shí)時(shí)鐘模塊RTC
RTC碰到LXTAL低頻晶振停振怎么辦?
![<b class='flag-5'>RTC</b>碰到LXTAL低頻晶振停振怎么辦?](https://file1.elecfans.com/web2/M00/C7/11/wKgaomYGIFmAU8kqAAAed3mgtxY126.png)
RTC電池壽命的評(píng)估考慮因素
![<b class='flag-5'>RTC</b>電池壽命的評(píng)估考慮因素](https://file1.elecfans.com/web2/M00/C5/5F/wKgaomXzswqAS7grAAAWjEA1MDs354.jpg)
評(píng)論