Page 281 - Web性能权威指南
P. 281

第 1 8 章


                                                                          WebRTC

















                 Web  Real-Time  Communication(Web 实时通信,WebRTC)由一组标准、协议和
                 JavaScript  API 组成,用于实现浏览器之间(端到端)的音频、视频及数据共享。
                 WebRTC 使得实时通信变成一种标准功能,任何 Web 应用都无需借助第三方插件和
                 专有软件,而是通过简单的 JavaScript API 即可利用。

                 要实现涵盖音频和视频的电话会议等完善、高品质的 RTC 应用,以及端到端的数据
                 交换,需要浏览器具备很多新功能:音频和视频处理能力、支持新应用 API、支持
                 好几种新网络协议。好在,浏览器把大多数复杂性抽象成了三个主要 API:
                 •   MediaStream:获取音频和视频流;
                 •   RTCPeerConnection:音频和视频数据通信;
                 •   RTCDataChannel:任意应用数据通信。

                 全部功能实现起来只需十几行 JavaScript 代码,任何 Web 应用都可以立即支持全功
                 能的电话会议,以及端到端的数据交换。这是 WebRTC 的愿景和能力!可是,上述
                 API 只是冰山一角:发信号、成员发现、连接协商、安全性,以及多层协议,这些
                 还有更多组件的协同也是关键。

                 毫无疑问,WebRTC 的架构和协议也决定了其性能特点:连接准备延迟、协议
                 开销,还有交付语义,只是其中一部分。事实上,与其他浏览器通信机制不同,
                 WebRTC 通过 UDP 传输数据。不过,UDP 只是个起点,为了实现浏览器间实时通
                 信,还有很多超出原始 UDP 之外的技术。本章我们就详细地加以讨论。


                                                                                         271
   276   277   278   279   280   281   282   283   284   285   286