RTCDataChannelEvent - 表示一个 datachannel 事件

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

RTCDataChannelEvent() 构造函数返回一个新的 RTCDataChannelEvent 对象,该对象表示一个 datachannel 事件。这些事件在其远程对等方要求打开两个对等方之间的 RTCDataChannel 时发送到 RTCPeerConnection

您很少会手工构造一个 RTCDataChannelEvent。相反,WebRTC 层会在适当的时候生成并交付给您。只需监听 RTCPeerConnection 接收到的 datachannel 事件,然后在接收到该事件时,请使用 RTCDataChannelEvent.channel 属性访问已打开的数据通道。

构造函数

RTCDataChannelEvent()

RTCDataChannelEvent() 构造函数创建一个新的 RTCDataChannelEvent

属性

也从以下接口继承了属性:Event

channel 只读

只读属性 RTCDataChannelEvent.channel 返回与事件关联的 RTCDataChannel

方法

此接口没有方法,但是从以下接口继承了方法:Event

实例

在此实例中,datachannel 的事件处理程序,用于保存数据通道引用,为需要监视的事件设置处理程序。 channel 属性表示 RTCDataChannel ,表示与另一个对等方的连接。

pc.ondatachannel = function(event) {
  inboundDataChannel = event.channel;
  inboundDataChannel.onmessage = handleIncomingMessage;
  inboundDataChannel.onopen = handleChannelOpen;
  inboundDataChannel.onclose = handleChannelClose;
}

有关如何使用数据通道的另一个更完整的示例,请参见一个简单的 RTCDataChannel 实例

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCDataChannelEvent 的定义
候选推荐 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持 未知22 不支持 支持 支持
RTCDataChannelEvent() 构造函数57 未知22 不支持44 未知
channel 支持 未知22 不支持 支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持28 未知22 未知 支持 支持
RTCDataChannelEvent() 构造函数5757 未知22 未知43 未知
channel 支持28 未知22 未知 支持 支持

相关链接