Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提取coap查询_C_Http_Protocols_Coap - Fatal编程技术网

提取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消息中的查询值

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中,选项的工作方式发生了巨大的变化。我已经实现了一些编码和解析选项的函数,您可能会发现这些函数很有用:


请给我们看一下代码好吗?