我为网络摄像头聊天平台编写了一个信号服务器,该平台也可用作聊天服务器。现在我要实施防洪措施。
我的计划是首先在服务器应用程序中实现这一点,然后尝试以某种方式将被禁止的 IP 添加到 Windows 防火墙 - 我还没有想到最后,但这是我的开始。如果这很愚蠢,请警告我。
所以我正在考虑应用一个协议,比如“如果用户在 50 秒内发送 100 条消息,他就会被淹没并被禁止”(客户端的 javascript 通常会阻止这种情况,但我不相信用户不会改变它)。
然而,用户也将 ICE Candidates 发送到服务器以建立 RTCPeerConnection,并且他无法控制它们的频率或总数。这是我等式中的一个未知因素。我不想意外禁止拥有 100 个 ICE 候选人的人使用他们的 RTCPeerConnection。
我已经对我的网络摄像头聊天进行了一些测试,之前获得了大约 40 个 ICE 候选者,但是我应该期望其他用户有多少个,以便我可以调整我的防洪条件?