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