使用场景:
协调器C, 路由R。
正常情况下:R通过短地址0x0000,AF_DataRequest发送消息给协调器,显示返回状态0,为成功;
抓包文件看到C有mac层的ack确认帧;
出现问题的情况:将C断电后,R通过短地址0x0000,AF_DataRequest发送消息给协调器,仍旧显示发送成功。
抓包文件发现有重发三次,并且C没有返回ACK(C都断电了,让然没有ack了)。
分析:AF_DataRequest的返回状态应该只表明了发送成功,但是没有处理接收成功;
问题:
我应用层如何知道C没有接收到,因为消息不可以丢失,我可以怎么处理?
是否可行的方案:
1. 通过协调器收到消息后,应用层再返回数据帧;
2. 是否有应用层可以处理mac层的ack超时事件,用于择机重发。
