开源版本4.4.19内核。通过/api/v4/clients接口查询设备的连接信息。
设备断开连接后需要过3分钟左右才不能被查询到信息,在此之前,该断开连接的设备一直都会被查询到连接信息。
1.用 v5.8.6 的接口,这查询接口在这个版本上做了大量的优化。api/v5/clients
2.最大的优化在 v5.9.0 上用 api/v5/clients_v2
所以说4.4的内核这是个已知bug吗,只能使用5.x以上的版本才能解决吗
在4.4.19这个版本有没办法可以做到实时查询呢
不行哦,己经过了维护周期了
而且我觉得这个不算 bug,只是性能比较差
稍微看了一下4.4.19的源码,当设备连接断开后,貌似并没有立即将channel信息从ets移除,所以导致了几分钟内都可以查询到该断开设备的连接信息。不知道这样设计的目的是什么呢。有时候开发的时候判断设备是否已经断开连接干扰很大
有能力改源码就更好了,
建议自己改改,适配自身的需求。(已经过了维护周期的代码,我不想去翻了,反正也不会改。)