我们的老朋友 WebRTC 又有好消息了。
确切地说:三个好消息和一些次要 API 变更。
适用于 Chrome 的 RTCDataChannel
RTCDataChannel 已在 Chrome 中实现,您可以在 simpl.info/dc 找到一个很棒的小演示。
此演示展示了如何使用不到 100 行代码实现任意数据的点对点通信。为此,您需要使用 Chrome 25 或更高版本,也就是目前的Beta 版或Canary 版。
RTCDataChannel 会充分利用 RTCPeerConnection 中内置的功能(尤其是使用 ICE 框架来穿透防火墙和 NAT),并且在低延迟至关重要的许多潜在应用中都非常有用:游戏、远程桌面应用、实时文本聊天和文件传输。
如需详细了解 RTCDataChannel,请参阅 WebRTC 使用入门。
API 变更
虽然不太令人兴奋,但仍然很重要:从 Chrome 26 开始,一些 RTCPeerConnection 和 MediaStream API 属性已变为getter 方法:
- MediaStream 现在使用
getAudioTracks()
方法(而非 audioTracks 属性),以及getVideoTracks()
(而非videoTracks
)。 - RTCPeerConnection 现在使用
getLocalStreams()
(而非localStreams
)和getRemoteStreams()
(而非remoteStreams
)。
如需大致了解 MediaStream 的运作方式,请查看 simpl.info/gum getUserMedia
演示。stream
变量位于全局范围内:请从控制台检查它。同样,对于 simpl.info/pc 中的 RTCPeerConnection:RTCPeerConnection 对象 pc1
和 pc2
位于全局范围内。
Chrome <=> Firefox
另外,如果 您 错过了 这点,请注意,Chrome 现在可以与 Firefox 进行“对话”。
您现在就可以访问 webrtc.org/start 试用此功能,该网站提供了完整的说明、源代码链接以及 API 差异方面的信息。
感谢 Mozilla 和 Google 团队的所有成员,是他们让这一切成为可能。
祝编码愉快!如果您发现任何 bug,请通过对此帖子发表评论或访问 bugs.chromium.org 告诉我们。 别忘了,您可以随时访问出色的 chromestatus.com,获取最新的实现信息。