借用Licdoe的代码来分析下ICE的实现
首先licode 用了两套ice库,不知道为啥,nicer 和Libnicer ,但感觉比较偏重于libnicer,所有着重以Libnice为主
二者分家的地方在 DtlsTransport类的构造函数中

licode 的底层传输采用了dtls的协议,这块不着重分析,知道就可以了。
下面开始
第一个问题:
ICE的线程模型
ICE代码还没看,但从Licode的应用来看,线程是由外面给出的,这个从ICE的使用说明可以看到:

具体使用情况也是需要传进一个Loop,

第二个问题:
ICE的底层传输用的那一套
现在看来,ICE的底层库,应该是本身自带的Udp库
第三个问题: ICE是数据封装层,它和应用层的关系如何
ICE的上层应用是dtls ,证据如下

本文通过分析Licode的代码探讨ICE的实现,介绍ICE的线程模型、底层传输库以及与应用层(如DTLS、SRTP、RTP)的关系。在Licode中,ICE的线程由外部提供,底层传输使用自带的Udp库,协议栈顺序为:UDP -> ICE -> DTLS -> SRTP -> RTP。
最低0.47元/天 解锁文章
606

被折叠的 条评论
为什么被折叠?



