Chuyển máy chủ

Đối với hầu hết các ứng dụng WebRTC để hoạt động, máy chủ cần phải chuyển tiếp lưu lượng truy cập giữa các ứng dụng ngang hàng, vì thường thì không thể sử dụng ổ cắm trực tiếp giữa các ứng dụng (trừ khi các ứng dụng này nằm trên cùng một mạng cục bộ). Cách phổ biến để giải quyết vấn đề này là sử dụng máy chủ TURN. Thuật ngữ này dùng để chỉ truyền tải qua chuyển tiếp xung quanh NAT và là giao thức để chuyển tiếp lưu lượng truy cập mạng.

Hiện tại, có một số tuỳ chọn dành cho máy chủ TURN có sẵn trên mạng, dưới dạng các ứng dụng tự lưu trữ (như dự án COTURN nguồn mở) và dưới dạng các dịch vụ do đám mây cung cấp.

Sau khi có máy chủ TURN trên mạng, bạn chỉ cần có RTCConfiguration chính xác để ứng dụng khách sử dụng. Đoạn mã sau đây minh hoạ cấu hình mẫu cho RTCPeerConnection, trong đó máy chủTURN có tên máy chủ my-turn-server.mycompany.com và đang chạy trên cổng 19403. Đối tượng cấu hình cũng hỗ trợ các thuộc tính usernamecredential để bảo mật quyền truy cập vào máy chủ. Đây là bắt buộc khi kết nối với máy chủ TURN.

const iceConfiguration = {
    iceServers: [
        {
            urls: 'turn:my-turn-server.mycompany.com:19403',
            username: 'optional-username',
            credential: 'auth-token'
        }
    ]
}

const peerConnection = new RTCPeerConnection(iceConfiguration);