برای عملکرد بیشتر برنامه های WebRTC ، یک سرور برای انتقال ترافیک بین افراد دیگر لازم است ، زیرا سوکت مستقیم اغلب بین سرویس گیرنده ها امکان پذیر نیست (مگر اینکه در یک شبکه محلی باشند). روش معمول برای حل این مسئله استفاده از سرور TURN است. این اصطلاح مخفف Traversal Using Relay NAT است و یک پروتکل برای پخش مجدد ترافیک شبکه است.
در حال حاضر گزینه های مختلفی برای سرورهای TURN به صورت آنلاین در دسترس است ، هم به عنوان برنامه های خود میزبان (مانند پروژه منبع باز COTURN) و هم به عنوان سرویس های ابری.
هنگامی که یک سرور TURN به صورت آنلاین در دسترس قرار گرفتید ، تنها آنچه شما نیاز دارید RTCConfiguration
صحیح RTCConfiguration
برای برنامه مشتری شما برای استفاده از آن است. قطعه کد زیر نمونه ای از پیکربندی های RTCPeerConnection
که در آن سرور TURN نام میزبان my-turn-server.mycompany.com
و در پورت 19403
اجرا می شود. شی conf پیکربندی همچنین از 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);