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
を指すbufをインクリメントします。63
今回ははっきりしているといいのですが。