1、请问发送数据时,AF_DataRequest中TansID能起到什么作用?
2、请问在Zstack现有的ACK机制的基础上,丢包的概率还有多大,我还有没有必要在应用层做一些确保可靠传输的工作?
YiKai Chen:
1. 如果有作APS ack檢查,TransID是給application核对APS ack是那個 AF_DataRequest發出的
2. 基本上很難具體估計丢包的概率,如果傳遞重要信息,建議加上APS ack檢查
user5281211:
回复 YiKai Chen:
1、那么我在发送包的时候是不是应该确保每次的数据包的TransID不同,另一方面,TransID是不是对应于抓到的包中的Sequence Number,也就是说这个TransID体现在用抓包软件所抓到的数据包的哪一项参数?
2、加上APS ACk是不是确实在很大概率上确保了数据的可靠传输?
多谢您的解答了
YiKai Chen:
回复 user5281211:
1. 是应该确保每次的数据包的TransID不同,TransID即是对应于抓到的包中的Sequence Number
2. 沒錯
user5281211:
回复 YiKai Chen:
多谢多谢!
Susan Yang:
uint8 *transID 事务序列号指针。如果消息缓存发送,这个函数将增加这个数字
miffy:
回复 user5281211:
目前没有更好的办法解决丢包的问题,丢包是必然。 为了高可靠性的应用,上层应用必须自己实现数据发送失败后的重发机制。 参考linux gateway的实现机制,它里面是利用zcl指令的default response机制,但也仅仅是在发送失败后,重新执行了单播route request,并没有重发机制。