【发布时间】:2016-02-14 12:42:43
【问题描述】:
所以我一直在使用 libcurl 来处理 GET 等 HTTP 请求,并且我设法创建了进度函数回调来查看下载了多少。但是,我不知道计算下载速度的公式(类似于浏览器显示下载速度的方式,例如 Chrome)。
我本来想用这个的:
downloadSpeed = amountCurrentlyDownloaded / secondsSinceDownloadStarted
类似于
speed = distance / time
公式。然而,这并不准确。例如,如果下载完全没有变化,downloadSpeed 会略微下降,但不会下降到零。
那么计算下载速度的正确公式是什么?
【问题讨论】:
-
没有“正确”的公式。它始终是对可变过程的描述,以及您认为应该如何用单个数字来描述该过程。您可能会发现更有吸引力的是使用重叠窗口:计算下载了多少块,例如一秒钟,然后平均最后几个块。
标签: c++ networking libcurl