总结一下webrtc的关键技术,如果搞懂了以下问题,webrtc应该算基本掌握了
1. 通话建立的大概流程。
a)收集建立点对点的 IP candidates (local, srvReflex,peerReflex, relay),用于建立UDP/TCP 发送路径
b ) 收集端支持的media info,及相关feature支持特性,构建SDP
c ) 通过第三方信令服务器转发SDP报文
d)依据两方的SDP信息,构建媒体通道,然后收发数据
2. 呼叫信令传输方式
a)可以是SIP,XMPP或者Tigase, webrtc不限定其具体实现
b)SIP/XMPP/Tigase信令集群的构建
c) 实际网络非常复杂,如果是SIP UDP发包,可能会有丢包问题。需要准备tcp和udp双通道;准备多端口甚至多协议(sip+http);另外要避免sip包太大被路由器过滤掉
3. ICE点对点数据连接建立
a) 了解NAT原理及NAT类型
b) 学习STUN/TURN/ICE协议,了解打洞原理
c) Candidates配对,配对选择及维持心跳的原理
d) candidates 类型比较太多,tcp/udp,内外和外网,还有ipv4和ipv6等,可依据业务做筛选或排优先级&#