提取coap查询
我需要您帮助提取coap消息中的查询值提取coap查询,c,http,protocols,coap,C,Http,Protocols,Coap,我需要您帮助提取coap消息中的查询值 coap://[ff08:90:5001:0:0:0:0:1]:12345/c?a=4 解码的数据包是52 02 00 00 91 63 61 3d 34。这里63 61 3d 34是查询部分?a=4。查询后有一个数据。我已经将缓冲区指针指向63(?),现在我在获取值34(4)时被击中了。我如何找到值并提取它 coap_h *hdr = (coap_h *)(buf); buf = (uint8_t *)(hdr + 1); len = buf[0]
coap://[ff08:90:5001:0:0:0:0:1]:12345/c?a=4
解码的数据包是52 02 00 00 91 63 61 3d 34
。这里63 61 3d 34
是查询部分?a=4
。查询后有一个数据。我已经将缓冲区指针指向63(?),现在我在获取值34(4)时被击中了。我如何找到值并提取它
coap_h *hdr = (coap_h *)(buf);
buf = (uint8_t *)(hdr + 1);
len = buf[0] & 0xf;
buf += len + 1;
buf最初指向
52
,然后我将buf移动到选项字段91
,检查长度,然后增加指向63
(?)的buf。希望这次我说得清楚。我现在没有时间手动解析您的数据包,但您应该知道,在CoAP-12中,选项的工作方式发生了巨大的变化。我已经实现了一些编码和解析选项的函数,您可能会发现这些函数很有用:
请给我们看一下代码好吗?