这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
只读
RTCDataChannel
property
bufferedAmount
returns the number of bytes of data currently queued to be sent over the data channel.
The queue may build up as a result of calls to the
send()
method. This only includes data buffered by the user agent itself; it doesn't include any framing overhead or buffering done by the operating system or network hardware.
The user agent may implement the process of actually sending data in any way it chooses; this may be done periodically during the event loop or truly asynchronously. As messages are actually sent, this value is reduced accordingly.
Closing the data channel doesn't reset this count, even though the user agent purges the queued messages. However, even after closing the channel, attempts to send messages continue to add to the
bufferedAmount
value, even though the messages are neither sent nor buffered.
Whenever this value decreases to fall to or below the value specified in the
bufferedAmountLowThreshold
property, the user agent fires the
bufferedamountlow
event. This event may be used, for example, to implement code which queues more messages to be sent whenever there's room to buffer them.
var amount = aDataChannel.bufferedAmount;
The number of bytes of data currently queued to be sent over the data channel but have not yet been sent.
The snippet below includes a function which changes the contents of a block with the ID "bufferSize" to a string indicating the number of bytes currently buffered on an
RTCDataChannel
.
var dc = peerConnection.createDataChannel("File Transfer");
/* ... */
function showBufferedAmount(channel) {
let el = document.getElementbyId("bufferSize");
el.innerHTML = channel.bufferedAmount + " bytes";
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDataChannel.bufferedAmount' in that specification. |
候选推荐 | 最初的规范。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
bufferedAmount
|
Chrome 56 | Edge ≤79 | Firefox 18 | IE No | Opera 43 | Safari Yes | WebView Android 56 | Chrome Android 56 | Firefox Android 18 | Opera Android 43 | Safari iOS No | Samsung Internet Android 6.0 |
完整支持
不支持
实验。期望将来行为有所改变。
RTCDataChannel
RTCDataChannel.bufferedAmountLowThreshold
bufferedamountlow
event
RTCDataChannel.onbufferedamountlow
RTCDataChannel
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceCandidate
RTCIceTransport
RTCPeerConnection
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent