三个重要的组件:
-
signal server : 信令服务器, 用于必要信息的交换, 比如SDP信息进行媒体协商
-
STUN/TURN : 数据中转, 如果别再同一个局域网内 就会直连, 如果是在外网,就会用到STUN/TURN服务
-
peer connection client : peerconnection对象
peer connection client商用必须要有的功能 : 设备检测、音视频采集、本地录制/云端录制
signal模块: 与服务端进行信令交互, 这样才能把sdp信息通过服务器转到另一端
创建连接 :
-
也就是创建peerconnection,pc内部具有生成offer sdp的功能, 通过signal(TCP为了保证传输的可靠性)模块和信令服务器传给对端
-
创建udp类型的socket连接,发送媒体数据
-
如果是外网 还要连接stun服务, 来获取本机的外网地址, 再通过信令转发到对端, 对方拿到我的外网地址才能通过nat穿越与我进行直连
-
如果穿越失败, 再通过TURN进行中转