خادم TURN

لكي تعمل معظم تطبيقات 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);