لكي تعمل معظم تطبيقات WebRTC، يجب توفُّر خادم لنقل الزيارات بين الأجهزة المشابهة، لأنّه لا يمكن غالبًا استخدام مقبس مباشر بين الأجهزة العميلة (ما لم تكن مضمّنة في الشبكة المحلية نفسها). إنّ الطريقة الشائعة لحلّ هذه المشكلة هي استخدام خادم TURN. يشير هذا المصطلح إلى Traversal Using Relays around NAT، وهو بروتوكول لنقل حركة بيانات الشبكة.
تتوفّر حاليًا عدة خيارات لخوادم TURN على الإنترنت، سواء كانت تطبيقات مستضافة ذاتيًا (مثل مشروع COTURN المفتوح المصدر) أو خدمات متوفّرة على الشبكة.
بعد توفُّر خادم TURN على الإنترنت، ما عليك سوى استخدام
RTCConfiguration
الصحيح ليتمكّن تطبيق العميل من استخدامه. يوضِّح مقتطف الرمز التالي مثالاً على إعدادات RTCPeerConnection
حيث يكون لخوادم TURN اسم المضيف my-turn-server.mycompany.com
ويكون قيد التشغيل على المنفذ 19403
. يتيح عنصر الضبط أيضًا السمتَين username
و
credential
لتأمين الوصول إلى الخادم. وهي
مطلوبة عند الاتصال بخادم TURN.
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);