如何设置Californium服务器的消息大小(PDU)?

时间:2017-04-25 18:07:24

标签: iot coap californium

如何为Californium服务器动态设置PDU的大小?

上下文:

1)我有一个实现了coap-client功能的设备。 此设备受RAM约束,rx/tx缓冲区大约200个空闲字节。

在请求中,设备可以发送优选的PDU大小。但我不明白如何使用此PDU大小配置服务器响应。有可能吗?

2)对于这种情况,它将是一个块状功能吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了怎么做。

这不是Californium责任。 PDU大小的管理通过block-wise选项Block2工作。

请参阅CoAP block-wise RFC Section 3.1

  

在第二个例子中(图3),客户预期阻止 -   明智的转移(例如,由于链接格式的大小指示   说明[RFC6690])并发送块大小提议。全部确认   消息除了最后一个携带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