三、创建PeerConnection对象
peerConnection = factory.createPeerConnection(
iceServers, //ICE服务器列表
constraints, //MediaConstraints
this); //Context
四、建立P2P连接通道
WebRTC是基于P2P的,但在端与端之间的连接通道还没建立起来之前,我们需要通过一个信令服务器为端与端之间传递信令建立通道。信令服务器要做的东西很简单,就是将一端的信息透传给另一端,步骤如下(以Demo为例):我们启动A端与B端,通过SocketIO连接到信令服务器,我们以A作为发送端,B为响应端。
信令交换
-
A向服务器发出init请求
-
服务器将A的init请求转发给连接上服务器的其他端
-
B收到init请求后,调用peerConnection.createOffer()方法创建一个包含SDP的offer信令
-
offer信令创建成功后会调用SdpObserver监听中的onCreateSuccess()响应函数,在此处B通过peerConnection.setLocalDescription()方法将SDP赋予自己的PeerConnection对象,同时将offer信令发送给服务器
服务器将offer信令转发给A端
- A收到offer信令后,调用peerConnection.setRemoteDescription()方法将B发过来的SDP赋予自己的PeerConnection对象,并调用peerConnection.createAnswer(