所以我一直在使用libcurl来处理像GET这样的HTTP请求,我已经设法创建了进度函数回调以查看已经下载了多少。但是,我不知道的是为了计算下载速度的公式(类似于浏览器显示下载速度的方式,例如Chrome)。
我原本想过用这个:
downloadSpeed = amountCurrentlyDownloaded / secondsSinceDownloadStarted
与
类似speed = distance / time
式。但是,这并不准确。例如,如果下载完全没有变化,downloadSpeed
会略有下降,但不会下降到零。
那么计算下载速度的正确公式是什么?
答案 0 :(得分:0)
想想一辆车。您想知道旅行的平均速度,还是想知道您当前的速度?你的公式给出了平均速度。
由于您正在以增量方式接收数据,因此您不能像傻瓜仪那样查看当前速度。相反,也许你可以每隔几秒钟更新一次,当你这样做时,除以之后的字符数 自上次更新以来的最后更新时间(需要使用比秒更高的精度计时器)。
也许你想显示当前和平均速度。这只是一个对用户“感觉”最好的问题。