与传统通信方式不同,p2p通信的实现过程不依赖于中间服务器的信息收发,直接通过信令等完成通信过程的建立;
通过websocket实现信令服务器的建立,而通过信令来确定通信双方;
webrtc通过 sdp协议来完善通信双方间协议的一致性;
webrtc通过ice机制找到对方并建立联系,实现nat穿越;
核心对象 RTCPeerConnection
RTCPeerConnection 作为创建点对点连接的 API,是我们实现音视频实时通信的关键。
整个媒体协商过程(SDP)可以简化为三个步骤对应上述四个媒体协商方法:
1、呼叫踏创建 Offer(createOífer)井将 offer 消息(内容是呼叫罐的SDP 信息)通过信令服务器传送给投收端,同时调用 setLocalDesccription 将含有本地 SDP 信息的 Offer 保存起来;
2、投收踏收到对端的 Ofer 信息后调用 setRemoteDesccription 方法将含有对蹊 SDP 信息的 Offcr 保存起来,并创建Answer(createAnswer)井将Answer 消息(内容是接收端的 SDP 信息)通过信令服务裔传送给呼叫端;
3、呼叫鳞收到对端的 Answer信息后调用 setRemoteDesccription 方法将含有对阔 SDP 信息的 Answer 保存起来;
经过上述三个步骤,则完成了 P2P 通信过程中的媒体协商部分,实际上在呼叫以及接收调用。