Chuyển máy chủ

Để hầu hết các ứng dụng WebRTC hoạt động, bạn cần có một máy chủ để chuyển tiếp lưu lượng truy cập giữa các máy chủ ngang hàng, vì thường không thể có ổ cắm trực tiếp giữa các ứng dụng khách (trừ khi các ứng dụng đó 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 là viết tắt của Traversal Using Relays (Truyền tải bằng bộ chuyển tiếp) xung quanh NAT và là một giao thức để chuyển tiếp lưu lượng truy cập mạng.

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

Sau khi có máy chủ TURN trực tuyến, bạn chỉ cần có RTCConfiguration chính xác để ứng dụng khách của mình sử dụng máy chủ đó. Đ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à những thông tin 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);