【问题标题】:Java Downloading Flood PreventionJava 下载防洪
【发布时间】:2015-05-08 13:08:28
【问题描述】:

目前我有一个下载 .zip 文件并解压缩它的 java 下载器,但是主机的下载速度限制为 8mb。因此,由于带宽问题,如果超过 10 人同时下载文件(大约 30MB),则会导致下载速度急剧下降,导致下载时间从 2 分钟缩短到 10 小时

不管怎样,这是下载代码

BufferedInputStream in = new BufferedInputStream(new java.net.URL(
"http://example.com/exampleJar.jar").openStream());
FileOutputStream fos = new FileOutputStream("exampleJar.jar");
BufferedOutputStream bout = new BufferedOutputStream(fos);

我在想,也许是一种检查有多少人正在下载它的方法,如果当前有 X 人正在下载,则切换到可以在一系列链接中找到的不同链接。

【问题讨论】:

  • 那行得通 - 有什么问题?

标签: java download bufferedinputstream


【解决方案1】:

这应该在服务器端而不是客户端完成

根据你使用的服务器类型,找到一种方法来统计当前正在运行的请求

如果超过你的预设值

发送http 302 http暂时移动,并给出另一个下载地址

http://download2.example.com/exampleJar.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2012-07-13
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多