RTCDataChannel: bufferedAmountLowThreshold 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

RTCDataChannel 屬性 bufferedAmountLowThreshold 用於指定被認為是“低”的已緩衝的傳出資料的位元組數。預設值為 0。當已緩衝的傳出位元組數(由 bufferedAmount 屬性指示)降至或低於此值時,將觸發 bufferedamountlow 事件。例如,可以使用此事件來實現程式碼,以便在有緩衝空間時,始終向緩衝區中新增更多要傳送的訊息。可以透過 onbufferedamountlowaddEventListener() 新增監聽器。

使用者代理可以自行選擇傳送資料的實際方式;這可能是在事件迴圈期間週期性地完成,也可能是真正非同步完成的。隨著資料的實際傳送,此值將相應減少。

注意: 資料通道關閉後,將不會觸發 bufferedamountlow 事件。

傳出資料位元組數低於此值時,緩衝區將被視為“低”。

示例

在此程式碼片段中,bufferedAmountLowThreshold 被設定為 64kB,並透過將 onbufferedamountlow 屬性設定為一個函式來建立 bufferedamountlow 事件的處理器,該函式應透過呼叫 send() 來發送更多資料到緩衝區。

js
const dc = peerConnection.createDataChannel("File Transfer");
dc.bufferedAmountLowThreshold = 65535;

dc.onbufferedamountlow = () => {
  /* use send() to queue more data to be sent */
};

規範

規範
WebRTC:瀏覽器中的即時通訊
# dom-rtcdatachannel-bufferedamountlowthreshold

瀏覽器相容性

另見