Para a maioria das aplicações WebRTC a função de um servidor é necessário para retransmitir o tráfego entre pares, uma vez que um soquete direta muitas vezes não é possível entre os clientes (a menos que residem na mesma rede local). A maneira comum de resolver isso é usando um servidor de volta. O termo significa Traversal Usando Relé NAT, e é um protocolo para retransmitir o tráfego de rede.
Atualmente várias opções para servidores VOLTA disponíveis on-line, tanto como aplicações de auto-hospedados (como o projeto COTURN-fonte aberto) e como os serviços em nuvem fornecido.
Uma vez que você tem um servidor VOLTA disponível on-line, tudo que você precisa é a correta RTCConfiguration
para o seu aplicativo cliente para usá-lo. O fragmento de código seguinte ilustra um exemplo de configuração para um RTCPeerConnection
onde o servidor sua vez, tem o nome de host my-turn-server.mycompany.com
e é executado na porta 19403
. O objeto de configuração também apoiar os username
e credentials
propriedades para fixar o acesso ao servidor. Estes são necessários ao se conectar a um servidor de volta.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credentials: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);