سرور را روشن کنید

برای عملکرد بیشتر برنامه های 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);