在WebRTC中,如何选择和使用ICE候选人?如果添加了新候选者,将使用它,如果是,则何时使用?
答案 0 :(得分:3)
新收集的候选人需要使用信令广告到另一端,然后它将与两端的远程候选者配对,并重新启动新对的ICE处理。如果任何一对成功并且ICE设置的优先级值高于现有的所选候选者,则提议者将选择该新对作为优选和选择的候选者并开始使用这对新的所选候选者。有时可能需要通过信令使用所选候选人发送更新的报价。
发送更新的报价/答案取决于客户端或ICE实施的设计或实施。基本上,对于与初始报价/回答的ICE属性相关的任何更改都需要更新报价。根据RFC,当选择ICE候选者时,提议者应包括" a =远程候选者"与选定的候选人交换更新的报价/答案。如果客户并不明确要求更新的优惠作为远程候选人的指示,那么可以不发送任何更新的优惠,您可以尝试不发送此内容并查看会发生什么。如果你一直发送更新的报价,只要另一个客户端可以解析它并识别属性,它应该是无害的。
在FF或Chrome浏览器默认实施WebRTC(Trickle ICE)时,您不必担心更新的候选人,因为当ICE候选人可以检索时,客户端将收到事件,因此您只需检索并发送到另一端。对于重新邀请案例,一旦ICE状态进入"完成"就调用createOffer。控制(提议)方面的状态。