我需要你的帮助来提取 coap 消息中的查询值。coap 消息看起来像
coap://[ff08:90:5001:0:0:0:0:1]:12345/c?a=4
解码的数据包是52 02 00 00 91 63 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。希望我这次很清楚。