RTCDataChannel: message event

The WebRTC message event is sent to the onmessage event handler on an RTCDataChannel object when a message has been received from the remote peer.

Bubbles No
Cancelable No
Interface MessageEvent
Event handler property onmessage

Note: The message event uses as its event object type the MessageEvent interface defined by the HTML specification.

Examples

For a given RTCDataChannel, dc, created for a peer connection using its createDataChannel() method, this code sets up a handler for incoming messages and acts on them by adding the data contained within the message to the current document as a new <p> (paragraph) element.

dc.addEventListener("message", ev => {
  let newParagraph = document.createElement("p");
  let textNode = document.createTextNode(event.data);
  newParagraph.appendChild(textNode);

  document.body.appendChild(newParagraph);
}, false);

Lines 2-4 create the new paragraph element and add the message data to it as a new text node. Line 6 appends the new paragraph to the end of the document's body.

You can also use an RTCDataChannel object's onmessage event handler property to set the event handler:

dc.onmessage = ev => {
  let newParagraph = document.createElement("p");
  let textNode = document.createTextNode(event.data);
  newParagraph.appendChild(textNode);

  document.body.appendChild(newParagraph);
}

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'the <code>message</code> event' in that specification.
Candidate Recommendation

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
message eventChrome Full support 56Edge Full support ≤79Firefox Full support YesIE No support NoOpera Full support 43Safari Full support YesWebView Android Full support 56Chrome Android Full support 56Firefox Android Full support YesOpera Android Full support 43Safari iOS Full support YesSamsung Internet Android Full support 6.0

Legend

Full support
Full support
No support
No support

See also