簡體   English   中英

WebRTC的Java信令服務器

[英]Java signaling server for webrtc

在以下文章中: WebRTC Cookbook文章

解釋了如何實現Java信令服務器。

據說:

因此,兩個客戶端交換必要的數據(包括網絡詳細信息),然后建立直接的對等連接。 建立連接后,對等方不再使用服務器。

但是,查看代碼,仍然需要服務器將通信中繼到所有客戶端(sendToAll方法)。

誰能解釋我用這樣的代碼如何直接進行對等通信? 我仍然不知道2個(或更多)客戶端如何通信p2p。

這意味着當p2p WebRTC連接建立並運行時,實際上並沒有使用信令服務器。

雖然,信令服務器可以提供一些其他功能-例如廣播文本聊天(當一個對等方可以將文本數據發送給所有其他對等方時)。 在那種情況下,您的應用程序仍然可以使用信令服務器在同級之間交換額外的數據,但是它不是WebRTC數據,而是僅對應用程序有意義的數據,而不對WebRTC堆棧有意義。

因此,在正常情況下,WebRTC堆棧在建立p2p連接后不使用信令(例如,實際上可以使用信令通道進行重新協商)。 但是,您的應用程序仍然完全可以自由使用信令通道來獲取自己的額外數據。 實際上,這完全取決於您在應用程序和信令服務器中實現的邏輯。

信令服務器用於建立WebRTC對等連接。 對等連接是兩對音頻,視頻和數據之間的直接連接。

通常,沒有信令服務器就不可能建立WebRTC對等連接,因為大多數用戶沒有固定的IP地址,並且位於網絡地址轉換(NAT)系統和狀態防火牆的后面。 信令服務器在兩個用戶之間中繼消息,直到他們可以成功地使用例如STUN來發現他們的IP地址(如在Internet上看到)成功協商對等連接。

一旦建立對等連接,就不需要信令服務器。 但是,您可以設計一個系統,如果該系統更適合您的需求,則仍然可以通過信令通道發送數據。

WebRTC的信令部分未指定。 信令服務器需要提供一些方法供用戶選擇要與之通信的用戶。

WebRTC具有點對點設計。 為了支持兩個以上的對等點,每對對等點都需要建立一個對等點連接,或者系統需要一個媒體服務器來組合音頻/視頻流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM