0

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

语境:

1) 我有一个具有已实现coap-client功能的设备。该设备受限于RAM大约 200 个空闲字节的rx/tx缓冲区。

在请求中,设备可以发送首选 PDU 大小。但我不明白如何用这个 PDU 大小配置服务器响应。是否可以?

2)在这种情况下,是否可以使用块级功能?

4

1 回答 1

0

好的,我找到了方法。

这不是一种Californium责任。PDU 大小的管理通过block-wiseoption进行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
于 2017-04-26T10:18:33.363 回答