对于大多数 WebRTC 应用来说,若要中继 因为通常无法在对等设备之间建立直接套接字 (除非这些客户端位于同一本地网络中)。解决这一问题的常见方法 方法是使用 TURN 服务器该术语代表使用中继遍历 它是一种用于中继网络流量的协议。
目前在线上提供了多个 TURN 服务器选项,均如下: 自托管的应用程序(如开源 COTURN 项目)和作为云 所提供的服务
有在线可用的 TURN 服务器后,您只需要正确的
RTCConfiguration
以供客户端应用使用。以下代码
代码段展示了 RTCPeerConnection
的示例配置,其中
TURN 服务器的主机名为 my-turn-server.mycompany.com
,正在:
端口 19403
。配置对象也支持 username
和
credential
属性,用于确保对服务器的访问安全无虞。这些是
。
const iceConfiguration = {
iceServers: [
{
urls: 'turn:my-turn-server.mycompany.com:19403',
username: 'optional-username',
credential: 'auth-token'
}
]
}
const peerConnection = new RTCPeerConnection(iceConfiguration);