Ich habe gelesen, dass WebRTC Relais-Server verwendet, wenn die direkte Peer-Verbindung wegen Firewalls nicht funktioniert.Wie überprüft man, ob WebRTC einen Relay Server verwendet?
Gibt es eine Möglichkeit zu überprüfen, ob dies der Fall ist?
Ich habe gelesen, dass WebRTC Relais-Server verwendet, wenn die direkte Peer-Verbindung wegen Firewalls nicht funktioniert.Wie überprüft man, ob WebRTC einen Relay Server verwendet?
Gibt es eine Möglichkeit zu überprüfen, ob dies der Fall ist?
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.
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
Ah, also muss ich nur gehen der TURN Server und kein Relay Server wird benutzt und ich bekomme nur p2p oder nichts? –
Ja, Sie können nur STUN Server (ohne TURN) an RTCPeerConnection übergeben. In diesem Fall wird versucht, P2P ohne Relais zu verwenden. – fycth
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