Java下载洪水预防

时间:2011-05-06 01:41:18

标签: java download bufferedinputstream

目前我有一个下载.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人正在下载,请切换到可以在一系列链接中找到的其他链接。

1 个答案:

答案 0 :(得分:2)

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

取决于您使用的服务器类型,找到计算当前正在运行的请求的方法

如果超过预设值

发送http 302 http临时移动,并给出另一个下载URL

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