WebRTC RTCDataChannel APIs
WebRTC不仅能够传输音频和视频流,还能传输任意的数据。这就是RTCDataChannel对象发挥作用的地方。
RTCDataChannel API
Properties
- RTCDataChannel.label(只读) − 返回一个包含数据通道名称的字符串。
- RTCDataChannel.ordered(只读) − 如果消息的传递顺序有保证,则返回true;否则返回false。
- RTCDataChannel.protocol(只读) − 返回一个包含用于此通道的子协议名称的字符串。
- RTCDataChannel.id(只读) − 返回一个在创建RTCDataChannel对象时设置的唯一ID。
- RTCDataChannel.readyState(只读) − 返回表示连接状态的RTCDataChannelState枚举值。可能的值包括−
- 连接中
-
connecting – 连接尚未启动。这是初始状态。
-
open – 运行中。表示连接正在运行。
-
closing – 关闭中。表示连接正在关闭过程中。缓存的消息正在发送或接收过程中,但没有新创建的任务正在接受。
-
closed – 关闭。表示连接无法建立或已关闭。
-
- RTCDataChannel.bufferedAmount(只读)– 返回排队等待发送的字节数。这是尚未通过RTCDataChannel.send()发送的数据量。
- RTCDataChannel.bufferedAmountLowThreshold – 返回RTCDataChannel的字节数。bufferedAmount被占用为低值。当RTCDataChannel。bufferedAmount小于这个阈值,就会触发bufferedamountlow事件。
-
RTCDataChannel.binaryType − 返回连接传输的二进制数据类型。可以是 “blob” 或 “arraybuffer”。
-
RTCDataChannel.maxPacketLifeType(只读) − 返回一个无符号短整型,表示以毫秒为单位的消息不可靠模式的窗口长度。
-
RTCDataChannel.maxRetransmits(只读) − 返回一个无符号短整型,表示如果数据未被传送,信道将重新传送数据的最大次数。
- RTCDataChannel.negotiated (只读) − 返回一个布尔值,指示通道是否由用户代理或应用程序进行了协商。
- RTCDataChannel.reliable (只读) − 返回一个布尔值,指示连接是否可以以不可靠模式发送消息。
- RTCDataChannel.stream (只读) − RTCDataChannel.id的同义词。
- 连接中
事件处理程序
-
RTCDataChannel.onopen − 当打开事件触发时调用此事件处理程序。在数据连接建立时发送此事件。
-
RTCDataChannel.onmessage − 当消息事件触发时调用此事件处理程序。在数据通道上有消息可用时发送此事件。
-
RTCDataChannel.onbufferedamountlow − 当bufferedamoutlow事件触发时调用此事件处理程序。当RTCDataChannel.bufferedAmount下降到RTCDataChannel.bufferedAmountLowThreshold属性以下时发送此事件。
-
RTCDataChannel.onclose − 当关闭事件触发时调用此事件处理程序。在数据连接关闭时发送此事件。
-
RTCDataChannel.onerror − 当错误事件触发时调用此事件处理程序。遇到错误时发送此事件。
方法
-
RTCDataChannel.close() − 关闭数据通道。
-
RTCDataChannel.send() − 在通道上发送参数中的数据。数据可以是blob、字符串、ArrayBuffer或ArrayBufferView。