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