העברת השרת

כדי שרוב האפליקציות של 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);