在发起 WebRTC P2P 通信时,复杂的网络环境经常会导致建联失败。WTN 提供了 TURN(Traversal Using Relays around NAT)中转服务,帮助你在 WebRTC P2P 建联时,提升建联成功率。
备注:关于 TURN 协议,参看:
参考以下文档,使用 WTN 提供的 TURN 中转服务。
仅需两步即可接入 WTN 提供的 TURN 中转服务。
调用 WTN 接口,以获取相关信息。参看 获取 TURN 服务信息。
在发起 WebRTC P2P 连接时,你应在 RTCPeerConnection
的配置字段中,传入刚刚获取的 TURN 服务信息。
const configuration = { iceServers: [ ... // 获取的 TURN 服务信息 { "username": "xxxxxx1", "credential": "yyyyyy1", "urls": [ "turn:1.1.1.1:3478?transport=udp", "turn:1.1.1.1:3479?transport=tcp" ] } ... ] } const peerConnection = new RTCPeerConnection(configuration);
使用以上配置时,P2P 通信客户端会根据网络情况自行选择使用 WTN 的 TURN 服务中转,或 P2P 直连。
如果你希望强制使用 WTN 提供的 TURN 服务中转,你还可以在上述代码中,添加以下配置:
const configuration = { ... iceTransportPolicy: "relay", ... }
参考文档:
WTN 仅会在实际流量使用了 WTN 提供的 TURN 服务时,产生费用。关于具体资费,请联系 WTN 技术支持人员。