Agar sebagian besar aplikasi WebRTC berfungsi, server diperlukan untuk meneruskan traffic antar-peer, karena socket langsung sering kali tidak dapat dilakukan antara klien (kecuali jika berada di jaringan lokal yang sama). Cara umum untuk mengatasinya adalah dengan menggunakan server TURN. Istilah ini adalah singkatan dari Traversal Using Relays around NAT, dan merupakan protokol untuk meneruskan traffic jaringan.
Saat ini ada beberapa opsi untuk server TURN yang tersedia secara online, baik sebagai aplikasi yang dihosting sendiri (seperti project COTURN open source) maupun sebagai layanan yang disediakan cloud.
Setelah memiliki server TURN yang tersedia secara online, yang Anda butuhkan hanyalah
RTCConfiguration
yang benar agar aplikasi klien dapat menggunakannya. Cuplikan kode
berikut mengilustrasikan contoh konfigurasi untuk RTCPeerConnection
dengan
server TURN memiliki nama host my-turn-server.mycompany.com
dan berjalan di
port 19403
. Objek konfigurasi juga mendukung properti username
dan
credential
untuk mengamankan akses ke server. Hal ini
diperlukan saat terhubung ke server TURN.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);