Para a maioria dos aplicativos WebRTC funcionar, um servidor é necessário para retransmitir o tráfego entre pares, já que geralmente não é possível estabelecer um soquete direto entre as clientes (a menos que eles residam na mesma rede local). A maneira comum de resolver usando um servidor TURN. O termo "traversal using Relays" (travessia usando retransmissão) em torno do NAT e é um protocolo para redirecionar o tráfego de rede.
Atualmente, há várias opções de servidores TURN disponíveis on-line, como aplicativos auto-hospedados (como o projeto de código aberto COTURN) e como recursos ou serviços oferecidos.
Depois de ter um servidor TURN disponível on-line, você só precisa do
RTCConfiguration
para que seu aplicativo cliente a use. O código a seguir
snippet ilustra um exemplo de configuração para uma RTCPeerConnection
em que o
O servidor TURN tem o nome de host my-turn-server.mycompany.com
e está sendo executado em
porta 19403
. O objeto de configuração também oferece suporte aos métodos username
e
credential
para proteger o acesso ao servidor. São
necessária ao se conectar a um servidor TURN.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);