思路
A端和B端通讯 -》signal是信令服务器 -》sturn/turn 给NAT打洞的
步骤 A端
首先创建 对应的 peerConnect 创建一个实例
然后创建流 把流添加到peerConnect 连接里面去
创建一个offer 的SDP
把上文的SDP 设置到创建的 localDescirption 里面,有自己对于媒体编解码等设备支持的基本信息
然后请求ip 收集condidate
最后发送自己的 SDP 也就是上面 offer 中的各种信息 发送给信令服务器
步骤B端
B收到A的SDP
创建自己的peerConnect
通过A的 SDP创建remoteDescroption
创建自己的 Answer SDP
把上文的SDP 设置到创建的 localDescirption 里面,有自己对于媒体编解码等设备支持的基本信息
然后同上
然后请求ip 收集condidate
最后发送自己的 SDP 也就是上面 Answer 中的各种信息 发送给信令服务器
A收到信息
A 通过信令服务器收到B的SDP 以后设置自己的 remoteDescroption
协商完成
这样 A 和 B的 remoteDescroption 和localDescirption 就设定完成每天协商就完成了
对于icecandidate 处理
首先 A收到是 turn 传过来的candidate
把其通过信令服务器传递给B
B Add 对应的candidate
然后B同样A的操作
这样就拿到了 所有的candidate pair 然后找到最优的pari 进行绑定
然后B收到A数据然后渲染显示