Ist STUN-server absolut notwendig für webrtc, wenn ich eine Steckdose.io-basierten Signalisierungs-server?
Mein Verständnis über STUN-server für webrtc ist, dass, wenn die clients hinter dem NAT sind (in den meisten Fällen, wenn nicht sogar alle), der STUN-server helfen, das webrtc-clients zu identifizieren, Ihre Adressen und ports. Und ich lese auch einige Artikel, die sagen, dass ein Signalisierungs-server ist erforderlich für webrtc-clients. Der Signalisierungs-server ist ein web server, socket.io, oder sogar E-Mail ein url. Meine erste Frage wäre: ist der STUN-server die Signalisierung server?
Eigentlich jetzt baute ich eine sehr einfache Steckdose.io-basierten service, der Sendungen client die session-Beschreibungen zu allen anderen Kunden. Also ich glaube die Steckdose.io-basierten server sollte genügend wissen über die Kunden-Adressen und ports Informationen. Wenn dies der Fall ist, warum haben wir Mühe haben, einen anderen STUN-server?
InformationsquelleAutor der Frage Elgs Qian Chen | 2014-05-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den STUN-server ist NICHT die melde-server.
Den Zweck der melde-server ist zum weiterleiten von Informationen zwischen den peers zu Beginn der Sitzung(wie können Sie ein Angebot geschickt, ohne zu wissen, wer zu senden?). Diese Informationen umfassen die SDP, die erstellt werden, auf die Angebote und die Antworten und auch das Eis Kandidaten, die erstellt werden, von jeder Partei.
Den Grund, STUN-server, so dass die beiden peers senden können, die Medien miteinander. Die media-streams werden nicht auf Ihrem melde-server sondern direkt an die andere Partei(die definition eines peer-to-peer-Verbindung), die Ausnahme wäre der Fall, wenn ein TURN-server verwendet wird.
Medien können nicht magisch gehen durch ein NAT oder eine firewall, da die beiden Parteien nicht über einen direkten Zugang zu dem jeweils anderen(wie Sie würden, wenn Sie im gleichen LAN).
In kurzen STUN-server benötigt wird, die große Mehrheit der Zeit, wenn die beiden Parteien nicht auf dem selben Netzwerk(gültig Verbindung Kandidaten für peer-to-peer-streaming-Medien) und einen für die Signalisierung server ist IMMER benötigt werden(ob Sie auf andere Netzwerke oder nicht), so dass die Aushandlung und den Verbindungsaufbau stattfinden kann. Gute Erklärung der Verbindung und streaming-Prozess
InformationsquelleAutor der Antwort Benjamin Trent
STUN wird verwendet, um zu implementieren, die das ICE-Protokoll, das versucht, zu finden, ein funktionierendes Netzwerk-Pfad zwischen den beiden clients. EIS wird auch TURN-relay-Server (falls konfiguriert in der RTCPeerConnection) für Fälle, in denen die beiden clients (wegen NAT/Firewall-Einschränkungen) können nicht mit einer direkten peer-to-peer-Verbindung.
STUN-Server verwendet werden, zu identifizieren, die externe Adresse von dem computer auf das internet (das außerhalb-der-NAT-Adresse) und zu versuchen, einrichten eines port-mapping verwendet werden kann, indem die peer - (wenn das NAT nicht "symmetrisch") -- Kontaktaufnahme mit der STUN-server wird Ihnen sagen, die externe IP und den port, um zu versuchen, zu verwenden, in EIS. Dies sind die EIS-Kandidaten enthalten, die in die SDP oder in der trickle-EIS-Nachrichten.
Fast-garantierte verbindungen, die ein server haben sollte DREHEN-Servern (vorzugsweise unterstützt UDP-und TCP-DREHEN, obwohl UDP ist weit bevorzugt). Beachten Sie, dass im Gegensatz zu STUN, TURN verwenden können nennenswerte Bandbreite, und so kann Geld Kosten zu hosten. Zum Glück, die meisten verbindungen gelingen, ohne einen Zug zu verbrauchen-server (d.h. Sie laufen peer-to-peer)
InformationsquelleAutor der Antwort jesup
NAT(Network Address Transformation) verwendet, um zu übersetzen "Private IP", die gilt nur im LAN in die "Öffentliche IP", die gültig ist im WAN.
Das problem ist, dass die "Öffentliche IP" ist nur von außen sichtbar, so müssen wir die STUN-oder TURN-server zurück zu senden, "Öffentliche IP".
Dieser Prozess ermöglicht es, eine WebRTC peer-to-Holen Sie sich eine öffentlich zugängliche Adresse für sich selbst, und dann passieren, dass es zu einem anderen peer über ein signaling-Mechanismus
Einen STUN-server verwendet wird, erhalten Sie eine externe Netzwerk-Adresse.
TURN-Server zum weiterleiten von Datenverkehr, wenn direct (peer to peer) - Verbindung schlägt fehl.
für mehr können Sie auch finden über den link unten: https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/#what-is-signaling
InformationsquelleAutor der Antwort hitesh