Server TURN

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