خادم TURN

لكي تعمل معظم تطبيقات WebRTC، يجب إرسال خادم لنقل حركة البيانات بين التطبيقات المشابهة، لأنّ المقبس المباشر غالبًا لا يكون ممكنًا بين البرامج (ما لم يكن موجودًا على الشبكة المحلية نفسها). والطريقة الشائعة لحل هذه المشكلة هي استخدام خادم intl. يشير المصطلح إلى "اجتياز استخدام عمليات الإرسال" حول NAT، وهو بروتوكول يُستخدم لإرسال حركة بيانات الشبكة.

هناك حاليًا العديد من الخيارات لخوادم YT المُتاحة على الإنترنت، سواءً كانت تطبيقات مستضافة ذاتيًا (مثل مشروع COYT مفتوح المصدر) أو خدمات مُقدَّمة في السحابة الإلكترونية.

بعد توفّر خادم turn على الإنترنت، كل ما تحتاجه هو RTCConfiguration الصحيح لاستخدام تطبيق العميل. يوضح مقتطف الرمز التالي نموذجًا لتنسيق RTCPeerConnection حيث يحتوي خادم اسم المضيف على 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);