本系列文章介绍使用WebRTC实现实时通信,原文参考 Real time communication with WebRTC

1. 简介

WebRTC是一个开源项目,可以在Web和native应用程序实现音频、视频和数据的实时通信。

WebRTC有一系列 JavaScript API,点击链接查看demo。

Where can I use WebRTC?

WebRTC应用于安卓和桌面版本的Firefox, Opera, Chrome,也可用于iOS和Android平台的native apps.

What is signaling?

WebRTC使用PeerConnection来实现浏览器之间的数据流通信,但是需要一种机制来协调通信和发送控制消息,这个过程称为信令(signaling)。WebRTC未指定信令的方式和协议。Google codelab使用Socket.IO来传递消息,但是也还有其他方式

What are STUN and TURN?

WebRTC设计为peer-to-peer工作模式,因此用户可以通过最直接路由连接。但是WebRTC解决真实网络情况:客户端程序需要穿越NAt 网关和防火墙,同时,peer to peer网络在直接连接失败时需要回退(fallback)。作为该流程的一部分,WebRTC API使用STUN服务器来获取本机的IP地址,同时在peer-to-peer连接失败时使用TURN作为relay服务器。查看更多WebRTC真实场景的使用。

Is WebRTC secure?

所有的WebRTC组件都必须加密,而且其JavaScript APIs也只能从安全源(HTTPS或者localhost)使用。信令机制不是由WebRTC机制定义,所以取决于你来保证使用安全的协议。


了解更多?查看webrtc.org/start上的资源。