2012-05-10 31 views
0

我想从我的PC获取可用带宽。从Python或C++查找可用带宽

想我在流2 Mbps的视频,我的网卡是100Mbps的,我的程序应该告诉我,98 Mbps的是可用的。

使用C++还是Python很容易吗?我怎样才能使用任何建议的编程语言找到可用的带宽。任何帮助将不胜感激。

+2

找到一些灵感你的带宽很可能是由于你的互联网连接的限制,而不是由您的网卡。为什么要告诉他们他们正在浪费带宽?你的应用程序做什么? – moowiz2020

+0

这几乎肯定是操作系统特定的。你需要支持哪些操作系统? – NPE

+0

@aix ...哦,我很遗憾,因为我忘了提及操作系统。我的操作系统是Ubuntu/Linux.My应用程序只是找到我的网卡的当前利用率。 –

回答

1

NLoad是用C++编写的,并支持在各种类Unix操作系统上监视带宽使用情况。

你可能会在https://github.com/revnode/nload

+0

谢谢乔治。绝对找到了一些启发。我可以让python运行nload和“grep”输出吗? –

+0

好吧,我明白了! :)感谢乔治! –

+0

不NLoad是否衡量使用的带宽而不是可用的带宽? –

2

有很多,许多因素会影响可用带宽:您的硬件(网卡,路由器,无线网络稳定,布线),你在做什么(其他下载,机负载)和正在发生的事情在其他地方(带宽目标服务器,ISP问题等)。所有这些都可以随时改变,让事情变得更有趣。最终的结果是,没有办法以有用的方式计算可用带宽。您可以做的最好的做法是尝试下载(或上传,取决于您感兴趣的方向)一些测试数据到目标服务器,并查看您可以使用的带宽。请记住,随着时间的推移,TCP的速度会加快,所以您需要运行一段时间的测试才能获得真实的可用带宽。

+0

所以我们可以这么说... im将数据上传到服务器www.ABC.com,我的网卡速度为100 Mbps,我怎么才能找到我只剩下多少带宽? –

+0

@AmaarBhahari:我愿意你先拿起一本关于网络技术的书。例如。 'www.ABC.com'会以'ACK'信息回应以确认您的上传正在进行,所以总会有其他的流量。而你无法控制这是多少。此外,您的声明“我的网卡是[100 Mbps]”忽略了全双工/半双工行为以及上传和下载速度之间的差异(就像您通常在ADSL中使用的那样) – MSalters

+0

@MSalters ...您误解了我的问题。我对网络技术非常熟悉。但无论如何,因为乔治已经引导我走向正确的方向,我不会重新解释我的问题。但感谢您的评论。 –