2017-02-24 72 views
2

據我所知,信令服務器的作用是在你想與之通信的網頁瀏覽器之間交換sdp。在webRTC中,當sdp交換完成時,websocket的角色是否完成?

我的理解過程如下。

  1. Web瀏覽器通過WebSocket的
  2. 服務器通過彼此的SDP回Web瀏覽器通過SDP信令服務器。
  3. 傳輸完成後,關閉Web套接字。
  4. 之後,Web瀏覽器可以在沒有信號服務器相互通信

難道我得到它嗎?

回答

1

這取決於你是否使用香草或涓流ICE。

在涓流ICE中,ICE候選人不是通過STUN發現的,例如在發送SDP之前。在這種情況下,您的webRTC端點可能無法通信,因爲它們還不能彼此通信。信令層仍然需要中繼ICE候選者以建立對等連接。一旦建立了對等連接,就不再需要信令。我見過的大多數實現都使用trickle ICE,因爲它通常會減少建立對等連接的延遲。

在香草ICE中,ICE候選人在發送SDP前被發現。在這種情況下,發送SDP後信令完成。

+1

沒錯。此外,如果您想[在通話過程中添加媒體](http://stackoverflow.com/a/30022892/918910),您仍然需要信令信道,除非您[設置數據信道用於信號傳輸](http ://stackoverflow.com/q/30016613/918910)。使用數據通道傳輸信號的風險是,如果ICE(網絡)故障導致您需要重新啓動ICE,則不會爲您節省。 – jib