如何为Californium
服务器动态设置PDU的大小?
上下文:
1)我有一个实现了coap-client
功能的设备。
此设备受RAM
约束,rx/tx
缓冲区大约200个空闲字节。
在请求中,设备可以发送优选的PDU大小。但我不明白如何使用此PDU大小配置服务器响应。有可能吗?
2)对于这种情况,它将是一个块状功能吗?
答案 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