📜  WebRTC-RTCDataChannel API

📅  最后修改于: 2020-10-17 05:40:30             🧑  作者: Mango


WebRTC不仅擅长传输音频和视频流,而且还擅长传输我们可能拥有的任何任意数据。这是RTCDataChannel对象起作用的地方。

RTCDataChannel API

物产

  • RTCDataChannel.label(只读) -返回包含数据通道名称的字符串。

  • RTCDataChannel.ordered(只读) -如果保证消息的传递顺序,则返回true;否则,返回false。

  • RTCDataChannel.protocol(只读) -返回包含用于此通道的子协议名称的字符串。

  • RTCDataChannel.id(只读) -返回在创建RTCDataChannel对象时设置的通道的唯一ID。

  • RTCDataChannel.readyState(只读) -返回表示连接状态的RTCDataChannelState枚举。可能的值-

    • 连接-表示连接尚未激活。这是初始状态。

    • 打开-表示连接正在运行。

    • 关闭-表示连接正在关闭。缓存的消息正在发送或接收的过程中,但是没有新创建的任务正在接受。

    • 已关闭-表示无法建立连接或已将其关闭。

  • RTCDataChannel.bufferedAmount(只读) -返回已排队等待发送的字节数。这是尚未通过RTCDataChannel.send()发送的数据量。

  • RTCDataChannel.bufferedAmountLowThreshold-返回将RTCDataChannel.bufferedAmount占用为低的字节数。当RTCDataChannel.bufferedAmount降低到此阈值以下时,将触发bufferedamountlow事件。

  • RTCDataChannel.binaryType-返回连接传输的二进制数据的类型。可以是“ blob”或“ arraybuffer”。

  • RTCDataChannel.maxPacketLifeType(只读) -返回一个无符号的short,它指示消息传递以不可靠的方式运行时窗口的长度(以毫秒为单位)。

  • RTCDataChannel.maxRetransmits(只读) -返回一个无符号的短整数,该整数表示如果未传递通道,通道将重传数据的最大次数。

  • RTCDataChannel.negotiated(只读) -返回一个布尔值,指示该通道是否已由用户代理或应用程序协商。

  • RTCDataChannel.reliable(只读) -返回一个布尔值,指示连接可以在不可靠的模式下发送消息。

  • RTCDataChannel.stream(只读) -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。