确定可用的上传/下载带宽

问题描述:

我有一个应用程序可以上传和下载文件。我也可以将上传/下载速度限制在所需的级别(CONFIGURABLE),这样我的应用程序就不会占用整个可用带宽。我能够使用libcurl(http)库实现此目的。确定可用的上传/下载带宽

但我的问题是,如果我必须限制我的上传速度来说可用上传带宽的75%,我该如何以编程方式找出我的可用上传带宽?最好用C/C++。如果它是预先配置的,我没有问题,但是如果必须每次都学习和调整它(如我所说的),可用上传限制的75%,我不知道是谁弄明白的。同样适用于下载。任何指针都会有很大的帮助。

+0

https://github.com/sivel/speedtest-cli – Ashish

无法确定常规网络上两点之间的绝对网络容量。 原因是流量可以在两者之间重新路由,其他数据流出现或消失或链路可能被切断。

你可以做的是找出现在有什么可用的带宽。一种方法是尽可能快地上传/下载一大块数据(比如1MB)(无人工上限),然后测量需要多长时间。从那里你可以找出现在有哪些带宽可用,然后从那里开始。

您可以再次定期测量带宽,以确保您不会太离开。

+1

我的问题正是关于了解可用带宽。我已经知道了我之前传输所花费的字节数(例如1Mb数据文件在20秒内以每秒52428字节的速率上传)。但是现在你怎么知道你有多大的访问带宽。我的问题来自于此链接[https://www.dropbox.com/help/26/en]和“特别是,Dropbox自动将自己限制到最高上传速度的75%,以防止任何明显的放缓在浏览。“ – Sandeep

+0

@sandeep,是的,你的观察是正确的。采用这种方法,您将永远无法使用更多可用的带宽。我想,定期你应该启动一些没有带宽限制的请求来重新计算可用的总带宽值。 – Ashish

+0

U可以检查速度测试命令行ulit来定期计算带宽。(https://github.com/sivel/speedtest-cli) – Ashish