RTCDataChannel: id property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
The read-onlyRTCDataChannel propertyid returns an ID number (between 0 and 65,534) whichuniquely identifies theRTCDataChannel. This ID is set at thetime the data channel is created, either by the user agent (ifRTCDataChannel.negotiated isfalse) or by the site or appscript (ifnegotiated istrue).
EachRTCPeerConnection can therefore have up to a theoretical maximum of65,534 data channels on it, although the actual maximum may vary from browser tobrowser.
In this article
Value
Anunsigned short value (that is, an integer between 0 and 65,535) whichuniquely identifies the data channel.
While thelabel property doesn't have to beunique, this ID number is guaranteed to be unique among all data channels. Additionally,known implementations of WebRTC use the same ID on both peers. A unique ID makes iteasier for your code to do its own out-of-band data channel-related signaling.
This can be also useful for logging and debugging purposes.
Example
const pc = new RTCPeerConnection();const dc = pc.createDataChannel("my channel");console.log(`Channel id: ${dc.id}`);Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcdatachannel-id> |