如何限制WebRTC Datachannel中接收的数据量

时间:2017-08-28 23:16:47

标签: javascript webrtc p2p

我需要在WebRTC APP中提供一些保护,我需要阻止客户端接收大量数据包,例如2kb。

如果有人向我发送大于2kb的数据并删除该消息,我需要削减。有什么设置我可以限制收到的数据。或者我可以在下载时拦截数据,然后停止下载部分。

我一直在寻找,但找不到任何相关信息。

1 个答案:

答案 0 :(得分:0)

根据描述Using WebRTC data channels的Mozilla基金会WebRTC网站,没有。

  

WebRTC数据通道支持缓存出站数据。这是自动处理的。虽然无法控制缓冲区的大小,但您可以了解当前缓冲的数据量,并且当缓冲区开始在排队数据上运行不足时,您可以选择通过事件通知。这样可以轻松编写有效的例程,确保始终可以发送数据而不会过度使用内存或完全淹没通道。

但是,如果您打算将收到的数据用作触发器,则可以使用 RTCDataChannel.bufferedAmount
这将返回当前排队通过数据通道发送的数据的字节数。更多细节here

获取该值并构建逻辑以根据您的需要限制或停止下载。

<强>语法

var amount = aDataChannel.bufferedAmount;