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 |
瀏覽器相容性
載入中…