2016-08-12 140 views
1

我想在iOS上使用視頻通話,因此我做了R & D,並發現Webrtc是此選項。 正如我發現WebRTC是對等通信。它的演示示例包含一個服務器LINK。 所以我的問題是,如果WebRTC是點對點,那麼爲什麼這是使用服務器。WebRTC工作流程

回答

0

這將是不安全的應用程序,聽取新連接的時候,你通常只需要在一個應用程序的出站連接,入站連接在服務器應用中。
這對於點對點來說是個問題,因爲如果兩個對等點只連接出站,他們將如何建立連接?答案是所有的對等端都連接到信令服務器。當開始一個呼叫時,對方向服務器發送它想要呼叫另一個對等的信號。然後服務器可以讓另一方知道有一個來電。
它並沒有在這裏結束,仍然沒有聯繫,但至少雙方都知道會有一個。兩位同行現在都會開始招募ICE候選人。通過ICE,同伴找到建立連接的路線。有時你可以連接點對點,但通常至少有一個防火牆涉及(大部分時間更多)。在這種情況下,協議會嘗試一個STUN服務器,它在防火牆中「打洞」(基本上,它以安全的方式打開一個端口)。這覆蓋了所有對等連接的90%,但仍然有些情況下對等連接是不可能的。這就是TURN進來的地方,它是一箇中繼服務器,您的同行可以使用它將數據轉發給其他同行。這種連接不是對等的。

1

WebRTC可用於多任務,但實時對等音頻和視頻(即多媒體)通信是主要優點。爲了通過網絡瀏覽器與另一個人(即同伴)通信,每個人的網絡瀏覽器必須同意開始通信,知道如何相互定位,繞過安全和防火牆保護以及實時傳輸所有多媒體通信。

與基於瀏覽器的點對點通信相關的最大挑戰之一是知道如何找到並與另一臺計算機的網絡瀏覽器建立網絡套接字連接,以便雙向傳輸多媒體數據。與此相關的困難起初可能並不明顯,但讓我進一步解釋。

當您訪問某個網站時,通常會輸入一個網址或點擊鏈接查看該網頁。向通過提供網頁(HTML,CSS和JavaScript)作出響應的服務器發出請求。這裏的關鍵是你向一個已知的,可以輕鬆定位的(通過DNS)服務器發出一個HTTP請求,並獲得一個響應(即網頁)。

現在我們假設我想和親愛的媽媽進行視頻聊天。我媽媽的電腦不是網絡服務器。因此,問題是如何直接發送請求並實際接收她的音頻和視頻數據,同時還將我的音頻和視頻數據直接發送給她,而不通過外部服務器?

得到幫助從HERE