httpclient如何控制上传速度

shiguowen 2014-08-20 03:08:39
我的应用上传速度过快,把带宽占用完了,导致在上传期间,服务器无法访问,怎么可以控制上传速度。
我是用HttpClient从A服务器发送数据到B服务器,我只能操作A服务器。
...全文
995 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiguowen 2014-08-25
  • 打赏
  • 举报
回复
引用 1 楼 yanghongjy 的回复:
用线程 wait 控制传输包的大小,超过限制 wait 设置计时器,超过时间唤醒 1 秒你设置多少 K 或者多少 M

HttpPost post = new HttpPost(url);
FileBody fileBody = new FileBody( new File(sourcePath));
MultipartEntity multiEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
multiEntity.addPart("file", fileBody);
post.setEntity(multiEntity);
HttpResponse response = httpClient.execute(post);
???
yanghongjy 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 sgwen20 的回复:

HttpPost post = new HttpPost(url);
FileBody fileBody = new FileBody( new File(sourcePath));
MultipartEntity multiEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
multiEntity.addPart("file", fileBody);
post.setEntity(multiEntity);
HttpResponse response = httpClient.execute(post);
???
你找一下设置包大小,以及暂停的功能,统计传输时间,sleep 剩下的时间。 我这里一般用 web 上传。
MiceRice 2014-08-25
  • 打赏
  • 举报
回复
如果要控制速度,就不能简单的直接把整个文件发出去,而是要自己读取文件,然后写流。写流的过程根据时间来控制速度。
yanghongjy 2014-08-20
  • 打赏
  • 举报
回复
用线程 wait 控制传输包的大小,超过限制 wait 设置计时器,超过时间唤醒 1 秒你设置多少 K 或者多少 M

25,980

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧