WebRTC实时通信 (1) - 架构
实时通信,最常见例子是个人电话,可以称之为Peer模式。而在企业组织等群体性的通信中(同时多人参与通信),电话会议是更加有效的一种交流方式,这种模式叫做Server模式。
无论是Peer或是Server模式,信令传递通道(Signal)都是不可缺少,用于建立数据通道。在WebRTC实时通信这个范畴中,Peer和Server模式的主要不同在于的数据通道的不同。
1. 信令通道
1 |
|
信令通道主要用来传递SDP信息(offer/answer/ICE candidate)以及用户的管理功能。
当STUN/TURN连接成功后,WebRTC模块将开始建立数据通道用于音视频等数据的传输。
为了与其他产品的互联,WebRTC信令通道大多采取sip协议。
附注: Chrome代码中提供的示例是通过HTTP协议作为信令通道的。
3. 中心模式
|Peer-A| <-> |data server| <-> |Peer-B|
当用户同时与多个用户进行通信时,Peer模式有其巨大的局限性:需要同时建立多个不同的WebRTC实例。故而在实际的产品中是以中心模式为主的,此类开源产品主要有Kurento/Janus.