我需要在WebRTC APP中提供一些保护,我需要阻止客户端接收大量数据包,例如2kb。
如果有人向我发送大于2kb的数据并删除该消息,我需要削减。有什么设置我可以限制收到的数据。或者我可以在下载时拦截数据,然后停止下载部分。
我一直在寻找,但找不到任何相关信息。
答案 0 :(得分:0)
根据描述Using WebRTC data channels的Mozilla基金会WebRTC网站,没有。
WebRTC数据通道支持缓存出站数据。这是自动处理的。虽然无法控制缓冲区的大小,但您可以了解当前缓冲的数据量,并且当缓冲区开始在排队数据上运行不足时,您可以选择通过事件通知。这样可以轻松编写有效的例程,确保始终可以发送数据而不会过度使用内存或完全淹没通道。
但是,如果您打算将收到的数据用作触发器,则可以使用 RTCDataChannel.bufferedAmount 。
这将返回当前排队通过数据通道发送的数据的字节数。更多细节here。
获取该值并构建逻辑以根据您的需要限制或停止下载。
<强>语法强>
var amount = aDataChannel.bufferedAmount;