Affinché la maggior parte delle applicazioni WebRTC funzioni, è necessario un server per l'inoltro traffico tra peer, poiché spesso non è possibile un socket diretto tra (a meno che non risiedano nella stessa rete locale). La soluzione più comune utilizzando un server TURN. Il termine sta per "Traversal Using Relays" attorno al NAT ed è un protocollo per l'inoltro del traffico di rete.
Al momento sono disponibili online diverse opzioni per i server TURN, sia come self-hosted (come il progetto COTURN open source) e come cloud servizi forniti.
Quando avrai un server TURN disponibile online, ti basterà inserire il corretto
RTCConfiguration
per consentire alla tua applicazione client di utilizzarlo. Il seguente codice
illustra una configurazione di esempio per un RTCPeerConnection
in cui lo snippet
Il server TURN ha il nome host my-turn-server.mycompany.com
ed è in esecuzione su
porta 19403
. L'oggetto di configurazione supporta anche username
e
Proprietà credential
per proteggere l'accesso al server. Si tratta di
richiesta per la connessione a un server TURN.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);