WebRTC - RTCDataChannel 演示、API 变更... 以及 Chrome 与 Firefox 通信

我们老朋友 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 方法:

  1. MediaStream 现在具有 getAudioTracks() 方法(而不是 audioTracks 属性),以及 getVideoTracks()(而不是 videoTracks)。
  2. RTCPeerConnection 现在具有 getLocalStreams()(而非 localStreams),getRemoteStreams()(而非 remoteStreams)。

如需简要了解 MediaStream 的实际应用,请查看 simpl.info/gum getUserMedia 演示。stream 变量处于全局范围内:请在控制台中检查该变量。同样,对于位于 simpl.info/pc 的 RTCPeerConnection:RTTCPeerConnection 对象 pc1pc2 也在全局范围内。

Chrome <=>Firefox

而且 如果您没有 错过 ,Chrome 现在可以“讲话”Firefox。

您现在可以访问 webrtc.org/start 进行试用,其中包含完整说明、源代码链接以及 API 差异的相关信息。

让我们看看 Mozilla 和 Google 的成功之路。

祝您编码顺利!如果您发现任何错误,请在本博文中发表评论,或访问 bugs.chromium.org。 请谨记,您可以随时访问出色的 chromestatus.com,获取最新的实现信息。