TURN 服务器

对于大多数 WebRTC 应用来说,若要中继 因为通常无法在对等设备之间建立直接套接字 (除非这些客户端位于同一本地网络中)。解决这一问题的常见方法 方法是使用 TURN 服务器该术语代表使用中继遍历 它是一种用于中继网络流量的协议。

目前在线上提供了多个 TURN 服务器选项,均如下: 自托管的应用程序(如开源 COTURN 项目)和作为云 所提供的服务

有在线可用的 TURN 服务器后,您只需要正确的 RTCConfiguration 以供客户端应用使用。以下代码 代码段展示了 RTCPeerConnection 的示例配置,其中 TURN 服务器的主机名为 my-turn-server.mycompany.com,正在: 端口 19403。配置对象也支持 usernamecredential 属性,用于确保对服务器的访问安全无虞。这些是 。

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

const peerConnection = new RTCPeerConnection(iceConfiguration);