设置基于 WebRTC 的通信系统
要设置基于 WebRTC 的通信系统,你需要三个主要组件:
-
WebRTC 信令服务器
为了建立 WebRTC 连接,对等体需要联系信令服务器,然后信令服务器提供对等体建立对等连接所需的地址信息。信令服务器例如:
- signalmaster :基于 JavaScript 的轻量级信令服务器
- NextRTC :基于 Java 的信令服务器
- Kurento :全面的 WebRTC 框架
- Janus :通用 WebRTC 网关
-
WebRTC 客户端应用程序
客户端通过 JavaScript API 访问浏览器的 WebRTC 实现,或使用 WebRTC 库(即作为桌面或移动应用程序的一部分)。为了建立与对等体的连接,客户端首先需要连接到信令服务器。WebRTC 客户端的示例如下:
-
OpenWebRTC ,一个具有移动焦点的跨平台客户端
-
Peer.js 基于浏览器的客户端(Peer.js 还提供轻量级服务器)
-
STUN / TURN 服务器
用于 NAT 的会话遍历实用程序(STUN) 使对等方能够交换地址信息,即使它们位于采用网络地址转换(NAT)的路由器之后。如果网络限制完全阻止对等端直接通信,则通过
NAT(TURN)
服务器周围的遍历使用中继来路由流量。你可以在 http://www.avaya.com/blogs/archives/2014/08/understanding-webrtc-media-connections-ice-stun-and-turn.html 找到有关 STUN 和 TURN 的详细图形说明。WebRTC STUN / TURN 服务器的示例如下:- coturn 结合了 STUN 和 TURN,通常是完全成熟的 WebRTC 基础设施的一部分。
- Janus WebRTC Gateway 附带一个集成的 STUN / TURN 服务器。