WebRTC不仅擅长传输音频和视频流,还擅长传输我们可能拥有的任何任意数据。这是RTCDataChannel对象起作用的地方。
RTCDataChannel API
属性:
- RTCDataChannel.label(read only) – 返回包含数据通道名称的字符串。
- RTCDataChannel.ordered(read only) – 如果保证消息的传递顺序,则返回true;否则,返回false。
- RTCDataChannel.protocol(read only) – 返回包含用于此通道的子协议名称的字符串。
- RTCDataChannel.id(read only) -返回在创建RTCDataChannel对象时设置的通道的唯一ID。
- RTCDataChannel.readyState(read only) -返回表示连接状态的RTCDataChannelState枚举。可能的值-
- connecting-表示连接尚未激活。这是初始状态。
- open-表示连接正在运行。
- closing-表示连接正在关闭。缓存的消息正在发送或接收的过程中,但是没有新创建的任务正在接受。
- closed -表示无法建立连接或已将其关闭。
- RTCDataChannel.bufferedAmount(read only) -返回已排队等待发送的字节数。这是尚未通过RTCDataChannel.send()发送的数据量。
- RTCDataChannel.bufferedAmountLowThreshold-返回将RTCDataChannel.bufferedAmount占用为低的字节数。当RTCDataChannel.bufferedAmount降低到此阈值以下时,将触发bufferedamountlow事件。
- RTCDataChannel.binaryType-返回连接传输的二进制数据的类型。可以是“ blob”或“ arraybuffer”。
- RTCDataChannel.maxPacketLifeType(read only) -返回一个无符号的short,它指示消息传递以不可靠的方式运行时窗口的长度(以毫秒为单位)。
- RTCDataChannel.maxRetransmits(read only) -返回一个无符号的短整数,该整数表示如果未传递通道,通道将重传数据的最大次数。
- RTCDataChannel.negotiated(read only) -返回一个布尔值,指示该通道是否已由用户代理或应用程序协商。
- RTCDataChannel.reliable(read only) -返回一个布尔值,指示连接可以在不可靠的模式下发送消息。
- RTCDataChannel.stream(read only) -RTCDataChannel.id的同义词
事件处理程序
- RTCDataChannel.onopen-触发open事件时调用此事件处理程序。建立数据连接后发送此事件。
- RTCDataChannel.onmessage-触发消息事件时调用此事件处理程序。当消息在数据通道上可用时发送事件。
- RTCDataChannel.onbufferedamountlow-触发bufferedamoutlow事件时,将调用此事件处理程序。当RTCDataChannel.bufferedAmount降低到RTCDataChannel.bufferedAmountLowThreshold属性以下时,发送此事件。
- RTCDataChannel.onclose-在触发close事件时调用此事件处理程序。数据连接已关闭时发送此事件。
- RTCDataChannel.onerror-触发错误事件时,将调用此事件处理程序。遇到错误时发送此事件。
方法
- RTCDataChannel.close() – 关闭数据通道。
- RTCDataChannel.send() -通过通道发送参数中的数据。数据可以是Blob,字符串,ArrayBuffer或ArrayBufferView。
作者:terry,如若转载,请注明出处:https://www.web176.com/webrtc/747.html