WebRTC-RTCDataChannel API

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

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年10月29日 下午5:38
下一篇 2020年10月29日 下午5:50

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注