如何删除路由器内存储的离线设备的信息?
时间:10-02
整理:3721RD
点击:
各位大神
我有一个问题,就是一定数量的EndDevice通过一个Router入网,Router会在AssociatedDevList的数组中记录这些设备
的信息,这个数组大小是20,也就是说他允许同时在线的EndDevice最大数量是20个吗?如果我的EndDevice数量超出20个,但是会频繁
有离线的设备,有什么办法可以将Router中离线的设备信息清除?
我现在的做法是隔20s轮询AssociatedDevList内的信息,把存入的设备age给加1,如果收到某个
设备的数据就将它的age清零,每隔60s再查询是否有设备的age值超过某一数值,如果有就表示该设备已经离线,就把AssociatedDevList相应的数据复位。
原来作试验EndDevice数量少,也没发现问题,现在EndDevice数量多了,总是过一段时间Router就
无法和其他设备组网了。请问是否还需要清除NV里的某些内容
请大神指点
您可以参考链接 http://cekong123.blog.163.com/blog/static/1477247242013119101830366/ 以及 http://e2e.ti.com/support/wireless_connectivity/f/158/p/105319/676645.aspx
为什么不考虑在这个地方放两个甚至更多的router来解决这个问题呢?
协议栈中定义了最大的device个数为20个,是指coo或这个router下面直接的子节点最大20个
完全可以多放几个router啊!
主要通过NLME_LeaveReq()/AssocRemove()这两个函数
谢谢您的解答 问题解决了