Pour que la plupart des applications WebRTC fonctionnent, un serveur est nécessaire pour relayer entre pairs, étant donné qu'il est souvent impossible d'établir un socket direct entre (sauf s'ils se trouvent sur le même réseau local). La façon courante de résoudre consiste à utiliser un serveur TURN. Le terme "balayage à l'aide de relais" signifie "balayage à l'aide de relais". autour de la NAT et c'est un protocole pour relayer le trafic réseau.
Il existe actuellement plusieurs options pour les serveurs TURN disponibles en ligne, à la fois en tant que des applications auto-hébergées (comme le projet Open Source COTURN) et en tant que les services fournis.
Une fois que vous avez un serveur TURN en ligne, tout ce dont vous avez besoin est
RTCConfiguration
pour que votre application cliente l'utilise. Le code suivant
un extrait de code illustre un exemple de configuration pour une RTCPeerConnection
où le
Le serveur TURN possède le nom d'hôte my-turn-server.mycompany.com
et s'exécute sur
port 19403
. L'objet de configuration prend également en charge les propriétés username
et
credential
pour sécuriser l'accès au serveur. Il s'agit
requise lors de la connexion
à un serveur TURN.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);