RTCDataChannel: bufferedAmount 属性
只读 RTCDataChannel 属性 bufferedAmount 返回当前已排队等待通过数据通道发送的数据字节数。由于调用 send() 方法,队列可能会增加。这仅包括用户代理本身缓冲的数据;不包括任何帧开销或操作系统或网络硬件执行的缓冲。
用户代理可以选择以任何方式实现实际发送数据的过程;这可能在事件循环期间定期执行,或者真正异步执行。随着消息的实际发送,此值会相应地减少。
注意: 关闭数据通道不会重置此计数,即使用户代理会清除排队的消息。但是,即使在关闭通道后,尝试发送消息也会继续增加 bufferedAmount 值,尽管消息既未发送也未缓冲。
每当此值减少到等于或低于 bufferedAmountLowThreshold 属性中指定的值时,用户代理就会触发 bufferedamountlow 事件。例如,此事件可用于实现一种代码,该代码在有空间缓冲消息时会排队发送更多消息。
值
当前已排队等待通过数据通道发送但尚未发送的数据字节数。
示例
下面的代码片段包含一个函数,该函数会将 ID 为“bufferSize”的块的内容更改为一个字符串,该字符串指示 上当前缓冲的字节数。RTCDataChannel
js
const dc = peerConnection.createDataChannel("File Transfer");
// …
function showBufferedAmount(channel) {
const el = document.getElementById("bufferSize");
el.innerText = `${channel.bufferedAmount} bytes`;
}
规范
| 规范 |
|---|
| WebRTC:浏览器中的实时通信 # dom-datachannel-bufferedamount |
浏览器兼容性
加载中…