RTCDataChannelEvent

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The RTCDataChannelEvent() constructor returns a new RTCDataChannelEvent object, which represents a datachannel event. These events sent to an RTCPeerConnection when its remote peer is asking to open an RTCDataChannel between the two peers.

You will rarely if ever construct an RTCDataChannelEvent by hand; instead, the WebRTC layer will generate and deliver them to you at the appropriate time. Just listen for the datachannel event and when you receive it, use the RTCDataChannelEvent.channel property to gain access to the data channel which has been opened.

Constructor

RTCDataChannelEvent()
The RTCDataChannelEvent() constructor creates a new RTCDataChannelEvent.

Properties

Also inherits properties from: Event

channel Read only
The read-only property RTCDataChannelEvent.channel returns the RTCDataChannel associated with the event.

Methods

This interface has no methods, but inherits methods from: Event

Examples

In this example, the datachannel event handler is set up to save the data channel reference and set up handlers for the events which need to be monitored. The channel property provides the RTCDataChannel representing the connection to the other peer.

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

See A simple RTCDataChannel sample for another, more complete, example of how to use data channels.

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannelEvent' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge ? Firefox Full support 22IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support 28Edge Mobile ? Firefox Android Full support 22Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
RTCDataChannelEvent() constructorChrome Full support 57Edge ? Firefox Full support 22IE ? Opera Full support 44Safari ? WebView Android Full support 57Chrome Android Full support 57Edge Mobile ? Firefox Android Full support 22Opera Android Full support 44Safari iOS ? Samsung Internet Android Full support 7.0
channelChrome Full support YesEdge ? Firefox Full support 22IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support 28Edge Mobile ? Firefox Android Full support 22Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown

See also

Document Tags and Contributors

Contributors to this page: fscholz, Sheppy, jpmedley, kscarfone, teoli
Last updated by: fscholz,