加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何通过Scala和Play以编程方式限制服务器上的下载速度

发布时间:2020-12-16 18:11:02 所属栏目:安全 来源:网络整理
导读:所有. 我正在使用Play框架和Scala进行项目.我需要能够限制来自我的服务器的下载速度,但确切的限制取决于用户,所以我不能只在我的nginx前端服务器中使用“limit_rate”.欢迎任何想法或搜索方向. 解决方法 从我所看到的情况来看,我无法看到任何能够满足你所需
所有.

我正在使用Play框架和Scala进行项目.我需要能够限制来自我的服务器的下载速度,但确切的限制取决于用户,所以我不能只在我的nginx前端服务器中使用“limit_rate”.欢迎任何想法或搜索方向.

解决方法

从我所看到的情况来看,我无法看到任何能够满足你所需要的东西.

所以,我接近这个的方法是采用你自己的Play版本并修改源代码

> HTTP Response object包含限制下载速率字段,您可以在特别想要限制此值时设置该字段
>更改PlayHandler类(可能是writeChunk),它负责将响应写回浏览器,以便它每秒暂停一定程度,以确保只按所需速率输出.

在Netty层可能有一个更简洁的解决方案,但我快速查看,找不到任何东西.我不是Netty的专家,所以你可能值得一看这里.

另一种方法是实现扩展RenderBinary方法的自己的Render方法,但是这仅限于文件下载,因此可能不是普遍适用的,但是对于特定场景需要较少的编码,并且可以在不必修改任何核心播放代码.可以在PDF module by Nicolas Leroux中找到自定义Render方法的示例

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读