在前面课程的介绍中,我们知道ice会收集到很多的candidate,同时会与对端的candiadate以一定的规则与响应的远端candidate组成candidate对儿,那么这样就会有很多的candidate对,如果每一对儿都需要进行检测就可能耗费大量的时间,所以ICE规范中提供提名来解决这样问题,当提名被接受后,对端就会使用相同的pair进行检测,当连接建立起来后排在后面的pair将不再进行检测;
在开始提名前先了解两个概念:
- CONTROLLING 控制端 可以在有效的候选对中指定哪些候选对将用于媒体;可以使用常规提名和激进提名两种方式之一;
- CONTROLLED 被控制端 收到请求后在所有pairs中寻找相同的pair,然后由被控制端向被控制端发送连通性检测;
1. 提名
在ice文档rfc5245的2.6中介绍了提名,如下:
控制端通过使用以下两种方式之一来提名 ICE 选择的配对:常规(regular)提名或激进(aggressive)提名。
- 如果它的对等端有一个精简(ICE Lite)的实现,另外一端必须使用一个常规的提名算法。
- 如果其对等端使用当前端不支持的 ICE 选项(存在