C# 多久轮询一次wifi信号强度?

C# 多久轮询一次wifi信号强度?,c#,wifi,signal-strength,C#,Wifi,Signal Strength,理想情况下,我希望以近乎实时的方式监控无线网络的信号强度,比如说每100ms监控一次,但如此高的频率可能太高了 我在用图书馆调查RSSI。我实例化了一个WlanClient client=newwlanclient()一次,然后每隔一秒左右重复使用客户端测量信号强度(但我想更频繁地这样做): 什么是最快的实际轮询延迟?这是测量信号强度的最佳方法吗?对于大多数情况,如果您想要监控任何内容,合理的指导原则是找出尽可能少的内容来实现您的目的,然后将频率增加一点,以捕获延迟和意外峰值 例如,如果您要向用

理想情况下,我希望以近乎实时的方式监控无线网络的信号强度,比如说每100ms监控一次,但如此高的频率可能太高了

我在用图书馆调查RSSI。我实例化了一个
WlanClient client=newwlanclient()一次,然后每隔一秒左右重复使用
客户端
测量信号强度(但我想更频繁地这样做):


什么是最快的实际轮询延迟?这是测量信号强度的最佳方法吗?

对于大多数情况,如果您想要监控任何内容,合理的指导原则是找出尽可能少的内容来实现您的目的,然后将频率增加一点,以捕获延迟和意外峰值

例如,如果您要向用户显示此内容,那么每半秒超过一次将意味着更改过快,用户无法有意义地理解,因此大约四分之一秒的时间应该足以确保您捕获到所需的所有内容

如果您正在进行日志记录,那么这取决于您的日志周期将持续多长时间。每隔几分钟一次可能会发现任何严重的问题,所以每分钟一次就可以了


总之,虽然通常存在一些实际的最大频率,但它不值得考虑,除非最大有用频率更高,这取决于您的目的。

我担心最小轮询延迟会有所不同,取决于您的驱动程序堆栈,但我怀疑也取决于周围访问点的数量。WiFi是一种基于时隙的协议

根据我的(有限的)经验,1秒的间隔大约是正确的,您已经看到站点列表并不总是完整的(即在1次扫描中缺少站点,在下一次扫描中返回)

这是测量信号强度的最佳方法吗


视情况而定,但你希望它变化的速度有多快?四处走动时,信号在一秒钟内变化不大

+1是的,1-3秒感觉不错,但1秒捕捉到大部分变化。我所说的“最佳方式”是指代码是最优的吗?你能详细说明一下“WiFi是一种基于时隙的协议”吗?
foreach (WlanClient.WlanInterface wlanInterface in _client.Interfaces)
{
    Wlan.WlanBssEntry[] wlanBssEntries = wlanInterface.GetNetworkBssList();
    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
    {
        int sigStr = wlanBssEntry.rssi; // signal strength in dBm
        // ...
    }
}