如何使用C在Ubuntu上获取WIFI参数(带宽,延迟)

时间:2012-07-31 13:09:43

标签: c ubuntu wifi

我是学生,我正在编写C99标准的简单应用程序。程序应该在Ubuntu上工作。

我有一个问题 - 我不知道如何获得一些Wifi参数,如带宽延迟。我不知道怎么做。可以使用标准函数或任何linux API(我是Windows用户)来做到这一点吗?。

2 个答案:

答案 0 :(得分:0)

通常,您不知道wifi设备的带宽或延迟。 带宽和延迟是来自链接的信息类型。 据我所知,WiFi驱动程序中没有此类信息。 与链路相关的信息最多的是SINR。 为了测量带宽或延迟,您应该编写自己的代码。

答案 1 :(得分:0)

也许你应该告诉我们更多关于你的具体问题。目前,我假设您对特定无线链路的吞吐量延迟感兴趣,即两个802.11站之间的链接。这可以是接入点与客户端之间或两个ad-hoc站之间的链接。

简短的回答是没有这样的API。实际上,即使估计这两个链路参数也是微不足道的。它们取决于信号质量,发送站使用的数据速率,干扰,信道利用率,两端计算机系统的负载,以及可能还有很多其他因素。

根据您使用的无线驱动程序,可能会获得有关当前使用的数据速率的信息以及与您通信的工作站的某些数据包丢失统计信息。查看Linux内核源代码树中的net/mac80211/sta_info.h。如果您使用的是 MadWifi ,则可以在/proc/net/madwifi/ath0/下方的文件和wlanconfig ath0 list sta的输出中找到有用的信息。

但是,您所能做的就是做出预测。如果链接质量突然改变,您的预测可能完全错误。