2013-08-11 13 views

Antwort

8

Wenn Sie eine WebRTC-Verbindung herstellen, legen Sie STUN und/oder TURN für einen Webbrowser fest. Wenn Sie einen Webbrowser mit beiden Optionen informiert haben, versucht der Webbrowser zunächst, STUN zu verwenden. Im Falle eines Fehlschlags versucht es TURN zu verwenden.

Der 'Relay Server' ist ein TURN-Server.

Wie ich weiß, gibt es keinen Standard Weg zu wissen, welche Option ein Webbrowser verwendet: STUN oder TURN.

Wenn Sie andererseits Besitzer des TURN-Servers sind, können Sie sehen, ob der Webclient sie verwendet oder nicht, und diese Informationen dann an den Client senden.

AKTUALISIERT Dies ist mein Code: https://github.com/fycth/webrtcexample/blob/master/www/js/rtc_lib.js

Sie dort sehen, kann ich nur STUN-Server verwenden, so dass es p2p oder nichts, und kein Relais ist.

+0

Ah, also muss ich nur gehen der TURN Server und kein Relay Server wird benutzt und ich bekomme nur p2p oder nichts? –

+1

Ja, Sie können nur STUN Server (ohne TURN) an RTCPeerConnection übergeben. In diesem Fall wird versucht, P2P ohne Relais zu verwenden. – fycth

+1

Wenn Sie nur einen TURN-Server festlegen, bedeutet dies nicht unbedingt, dass TURN verwendet wird und die Medien weitergeleitet werden, da die meisten TURN-Serverimplementierungen auch Betäubungskandidaten für die Anwendung bereitstellen. Um die Anwendung zu zwingen, Relay zu verwenden, müssen Sie die Liste der Kandidaten vom SDP filtern und nur die Relay-Einträge zulassen. – nakib

1

In Chrom. gehe zu chrome: // webrtc-internals, gehe zu succeed connection-googCandidate-Paar (in schwarzen Buchstaben) überprüfe, ob googLocalcandidatetyp relay ist, dann benutzt webrtc eine Relay-Verbindung. Wenn googLocalcandidatetyp ist lokal, dann verwendet es Peer-to-Peer-Verbindung In Firefox, gehen Sie zu: webrtc, wenn die erfolgreiche Verbindung einen Kandidaten als relayed-UDP enthält, dann verwendet webrtc Relais-Verbindung

Verwandte Themen