处理WebRTC会话的眩光控制分辨率时,会话启动或应答时会抓取媒体(getusermedia) .

会话的两侧(A侧和B侧)同时发起会话,导致双方在期待SDP应答时收到SDP Offer .

我使用的解决方案是为每个信令信道分配唯一令牌(即,A侧和B侧具有不同的令牌),并且类似于ISUP使用以执行眩光控制(例如,较低或较高侧令牌获胜) .

我使用的实际机制似乎有效,它基于允许两个较低令牌继续会话启动并忽略远程SDP Offer和远程端创建新PeerConnection然后处理收到新PeerConnection的报价,并在准备好新PC时附加媒体 . 随后处理来自允许的发起方的ICE候选者 .

问题是 - grab 新PC来处理收到的报价是否有任何不利或危险? (丢失方试图启动的原始PC被丢弃,我假设在某些时候收集了垃圾) .

所以可能(虽然我不确定)有问题的是我目前没有删除在SDP要约之后到达的ICE候选人,假设这些ICE候选人仍然有效,则被忽略 .

但是对此的任何想法都非常感激 .