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