gpt4 book ai didi

javascript - 两个 WebRTC 对等体同时启动 ICE 重启

转载 作者:行者123 更新时间:2023-12-03 01:43:02 25 4
gpt4 key购买 nike

我对 webRTC 还很陌生。该问题与 ICE 重启有关。假设有 2 个使用 webRTC 连接的对等点,其中一个失去了连接。现在,对等连接将首先进入“断开连接”状态。不久之后,如果仍然没有连接,则进入“失败”状态。

现在,我明白一旦达到此失败状态,我必须执行 ICE 重启。问题是,即使一个对等点失去连接,两个对等点都会报告“失败”状态并尝试执行 ICE 重新启动,我认为这应该是有问题的。这是代码片段:

if (peer.localConnection.iceConnectionState == "failed") {
// create an offer
peer.localConnection.createOffer({
iceRestart : true
}).then(function(offer) {
peer.localConnection.setLocalDescription(offer);
// forward the offer to the signaling server
var msg = createMsg("OFFER", myId, peerId, offer);
sendToSignallingServer(msg);
}, function(error) {
//error
});
}

据我了解,在发现现在有两个报价后,其中一个对等方应使用 RTCSessionDescription("rollback") 执行“回滚”。但我很困惑这是否有效,因为两个对等方都可能尝试执行回滚。

如何确保只有一个对等点执行回滚?

最佳答案

避免这种情况的一种方法(因为回滚尚未广泛实现)是仅当您的连接端发送初始报价时才重新启动ice。

关于javascript - 两个 WebRTC 对等体同时启动 ICE 重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50763607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com