我的 WebRTC 配置中有多个轮流服务器:
iceServers: [
{
urls: 'turn:turn.example.com',
username: 'username',
credential: 'pass'
},
{
urls: 'turn:turn2.example.com',
username: 'username',
credential: 'pass'
}
]
当我启动 WebRTC 调用然后关闭 turn.example.com
时,通信卡住。 WebRTC 似乎不会自动接听新的 ICE 候选人并恢复通话。
有没有办法使用第二个 ICE 服务器恢复/重新建立通信?
最佳答案
您应该能够使用 ICE 重新启动来收集新的 TURN 候选人。要重新启动 ICE,您需要执行另一个更改 ICE 用户名片段和密码的提议/答案交换。要触发它,您只需调用:
pc.createOffer({iceRestart: true})
关于javascript - 如何在一台 TURN 服务器出现故障时恢复 WebRTC 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42666695/