]> granicus.if.org Git - esp-idf/commitdiff
fix: response failed when set a large response data
authorchenwu <chenwu@espressif.com>
Tue, 26 Jun 2018 08:48:30 +0000 (16:48 +0800)
committerchenwu <chenwu@espressif.com>
Tue, 26 Jun 2018 09:13:25 +0000 (17:13 +0800)
set the last parameter of `coap_pdu_init`, from size to COAP_MAX_PDU_SIZE
refer to https://github.com/obgm/libcoap.git/examples/contiki/coap-observer.c settings -> COAP_DEFAULT_MTU

close https://ezredmine.espressif.cn:8765/issues/23207

examples/protocols/coap_server/main/coap_server_example_main.c

index b3ea70308008a56785a6271ea0bf82bc33c666f7..0d2ce0a2848581a59827c83bf938c0ef1af23a9d 100644 (file)
@@ -51,8 +51,7 @@ send_async_response(coap_context_t *ctx, const coap_endpoint_t *local_if)
     coap_pdu_t *response;
     unsigned char buf[3];
     const char* response_data     = "Hello World!";
-    size_t size = sizeof(coap_hdr_t) + 20;
-    response = coap_pdu_init(async->flags & COAP_MESSAGE_CON, COAP_RESPONSE_CODE(205), 0, size);
+    response = coap_pdu_init(async->flags & COAP_MESSAGE_CON, COAP_RESPONSE_CODE(205), 0, COAP_MAX_PDU_SIZE);
     response->hdr->id = coap_new_message_id(ctx);
     if (async->tokenlen)
         coap_add_token(response, async->tokenlen, async->token);