求助各位大婶帮个忙,非常感谢!!

pjc685 · · 1767 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

我的需求是,当我正常的请求了一个网页文件后,需要在读取的时候,进行限速,我本来想说,在返回流中 for {} 里面判断的,但是,一旦里面sleep了以后,就断开了..请问有其他办法可以限速吗? 很需要精确到字节...感谢各位大婶的帮助...如果你知道,请尽量帮帮我 代码如下: resp, err := GetDownloadResponse(url, referer, cookie, xxf) defer resp.Body.Close() buf := make([]byte, 1024) for { t1 := time.Now() n, err := resp.Body.Read(buf) if err != nil { break } t2 := time.Now() t3 := t2.Sub(t1) fmt.Printf("t3.Seconds() : %f \n", t3.Seconds()) //tmp_speed * 1024 * 1024 每秒允许可以下的字节 mustspped := float64(n) - float64(tmp_speed)*t3.Seconds() fmt.Printf("sudu : %d spped : %f \n ", tmp_speed, mustspped) if mustspped > 0 { mushsleep := mustspped / float64(tmp_speed) fmt.Printf("mushsleep : %f \n", mushsleep) time.Sleep(time.Duration(mushsleep) * time.Second) } }

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1767 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传