Как я могу установить размер сообщения (PDU) для сервера Californium?

Как я могу динамически установить размер PDU для Californium сервер?

Контекст:

1) У меня есть устройство с внедренным coap-client функциональность. Это устройство ограничено RAMоколо 200 свободных байтов для rx/tx буферы.

В запросе устройство может отправить предпочтительный размер PDU. Но я не понимаю, как настроить ответы сервера с этим размером PDU. Является ли это возможным?

2) Будет ли работать блочная функциональность для этого случая?

1 ответ

Решение

Хорошо, я нашел, как это сделать.

Это не Californium обязанность. Управление размером PDU работает через block-wise вариант Block2,

См. CoAP блочный RFC Section 3.1:

Во втором примере (рисунок 3) клиент ожидает блочную передачу (например, из-за указания размера в описании формата канала [RFC6690]) и отправляет предложение о размере блока. Все сообщения ACK, за исключением последнего, содержат 64 байта полезной нагрузки; последний содержит от 1 до 64 байтов.

Client                                                   Server
|                                                          |
| CON [MID=1234], GET, /status, 2:0/0/64           ------> |
|                                                          |
| <------   ACK [MID=1234], 2.05 Content, 2:0/1/64         |
|                                                          |
| CON [MID=1235], GET, /status, 2:1/0/64           ------> |
|                                                          |
| <------   ACK [MID=1235], 2.05 Content, 2:1/1/64         |
:                                                          :
:                          ...                             :
:                                                          :
| CON [MID=1238], GET, /status, 2:4/0/64           ------> |
|                                                          |
| <------   ACK [MID=1238], 2.05 Content, 2:4/1/64         |
|                                                          |
| CON [MID=1239], GET, /status, 2:5/0/64           ------> |
|                                                          |
| <------   ACK [MID=1239], 2.05 Content, 2:5/0/64         |

    Figure 3: Block-Wise GET with Early Negotiation
Другие вопросы по тегам