העברת השרת

רוב האפליקציות של WebRTC צריכות לתפקד שרת כדי להעביר את התנועה בין העמיתים, כי הרבה פעמים אי אפשר להשתמש בשקע ישיר בין הלקוחות (אלא אם הם נמצאים באותה רשת מקומית). הדרך הנפוצה לפתור את הבעיה היא להשתמש בשרת TURN. המונח הוא 'מעבר דרך ממסר' סביב 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);