在libcurl中计算下载速度?

时间:2016-02-14 12:42:43

标签: c++ networking libcurl

所以我一直在使用libcurl来处理像GET这样的HTTP请求,我已经设法创建了进度函数回调以查看已经下载了多少。但是,我不知道的是为了计算下载速度的公式(类似于浏览器显示下载速度的方式,例如Chrome)。

我原本想过用这个:

downloadSpeed = amountCurrentlyDownloaded / secondsSinceDownloadStarted

类似
speed = distance / time

式。但是,这并不准确。例如,如果下载完全没有变化,downloadSpeed会略有下降,但不会下降到零。

那么计算下载速度的正确公式是什么?

1 个答案:

答案 0 :(得分:0)

想想一辆车。您想知道旅行的平均速度,还是想知道您当前的速度?你的公式给出了平均速度。

由于您正在以增量方式接收数据,因此您不能像傻瓜仪那样查看当前速度。相反,也许你可以每隔几秒钟更新一次,当你这样做时,除以之后的字符数 自上次更新以来的最后更新时间(需要使用比秒更高的精度计时器)。

也许你想显示当前和平均速度。这只是一个对用户“感觉”最好的问题。

相关问题