如何理解您在Contiki(Rime)中成功传输的哪条runicast消息?

时间:2017-07-23 15:08:51

标签: iot contiki

之后,我使用函数runicast_send发送不同的runicast消息,如何在触发回调sent_runicast时了解哪些消息已被确认?

runicast.h文件声明:

  

runicast原语添加两个数据包属性:单跳    数据包类型和单跳数据包ID。 runicast原语    使用包ID属性作为匹配的序列号    确认包到相应的数据包。

但我不明白在实践中如何做到这一点。有人可以提供一个例子吗?

1 个答案:

答案 0 :(得分:0)

一种方法是在发送数据包之前查看html: "<iframe width=\"1920\" height=\"1080\" src=\"/https://www.youtube.com/embed/dT2owtxkU8k\" frameborder=\"0\" allowfullscreen></iframe>" 的字段sndnxt,然后在&#34;发送&#34中比较struct runicast_conn *c的值{} ;回调你的代码。

但请注意,默认情况下,runicast数据包ID只有2位长。在大多数情况下足以解复用ACK,但可能不足以满足您的需要。 (可以通过重新定义packetbuf_attr(PACKETBUF_ATTR_PACKET_ID)来更改以比特为单位的数据包ID。)

此外,Rime已经过时了。不要在代码中使用它,尤其是生产代码,除非您知道自己在做什么。 RUNICAST_PACKET_ID_BITS从未成为Rime的亮点之一,我怀疑没有更好的替代方案(例如uIPv6堆栈)来满足您的需求。