This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The read-only RTCDataChannel
property id
returns an ID number (between 0 and 65,534) which uniquely identifies the RTCDataChannel
. This ID is set at the time the data channel is created, either by the user agent (if RTCDataChannel.negotiated
is false
) or by the site or app script (if negotiated
is true
).
Each RTCPeerConnection
can therefore have up to a theoretical maximum of 65,534 data channels on it, although the actual maximum may vary from browser to browser.
In early versions of the WebRTC specification, this property's name was stream
. Code that uses that property needs to be updated.
Syntax
var id = aDataChannel.id;
Value
An unsigned short
value (that is, an integer between 0 and 65,535) which uniquely identifies the data channel.
While the label
property doesn't have to be unique, 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 it easier 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
var pc = new RTCPeerConnection();
var dc = pc.createDataChannel("my channel");
console.log("Channel id: " + dc.id);
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browser The definition of 'RTCDataChannel.id' in that specification. |
Working Draft | Initial specification. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | 24 (24) [1] [2] | No support | (Yes) | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | 24 (24) [1] | No support | ? | ? |
[1] The interface is called DataChannel
and not RTCDataChannel
in Firefox, although a binding was added in Firefox 24 which allows either name to be used.
[2] Available in Firefox 22 as RTCDataChannel.stream
, however.