TURN-Server

Damit die meisten WebRTC-Anwendungen funktionieren, ist ein Server für die Weiterleitung des Traffic zwischen Peers, da ein Direct Socket zwischen den Peers Clients (es sei denn, sie befinden sich im selben lokalen Netzwerk). Der gängige Lösungsweg indem Sie einen TURN-Server verwenden. Der Begriff steht für „Durchlauf mit Relays“. um NAT und es ist ein Protokoll zur Weiterleitung von Netzwerkverkehr.

Es gibt derzeit mehrere Optionen für Online-Turn-Server, die sowohl als selbstgehostete Anwendungen (wie das Open-Source-Projekt COTURN) und als Cloud- bereitgestellten Dienstleistungen.

Sobald Sie einen Online-Turn-Server haben, brauchen Sie nur noch den richtigen RTCConfiguration, damit Ihre Clientanwendung ihn verwenden kann. Der folgende Code Snippet veranschaulicht eine Beispielkonfiguration für ein RTCPeerConnection, wobei der Parameter TURN-Server hat den Hostnamen my-turn-server.mycompany.com und wird ausgeführt auf Port 19403. Das Konfigurationsobjekt unterstützt auch username und credential-Attribute zum Sichern des Zugriffs auf den Server Dies sind erforderlich, wenn eine Verbindung zu einem TURN-Server hergestellt wird.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credential: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);