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);