各位工程师好,请教一个我在开发应用遇到的一个问题。父节点(router)给end-device发送leave后未执行,如果现象出现,重发也不会成功,但是重新入网后有时leave能执行。
协议栈:end-device和router版本是mesh1.0,coordinator是home。
工程配置:将router的ChildAging功能启用,KEEPALIVE_TIMEOUT_MAX = 1,意在快速重现现象。
工作流程:
入网并确保route关系。几分钟后,估计router已经将end-device从AssociatedDevList删除后,end-device发送一条消息通过router转发到coordinator并成功收到,coordinator回复消息但通过短地址无法发送消息到该节点。
随后end-device持续data_request,此时就出现抓包数据中的现象,router发送leave但是end-device不执行。
附件是Ubiqua抓包数据,十分感谢。