如何为 Californium 服务器设置消息大小 (PDU)?
How I can set a size of message (PDU) for the Californium server?
如何为 Californium
服务器动态设置 PDU 的大小?
上下文:
1) 我的设备实现了 coap-client
功能。
此设备受到 RAM
的限制,rx/tx
缓冲区大约有 200 个可用字节。
在请求中,设备可以发送首选 PDU 大小。但我不明白如何使用此 PDU 大小配置服务器响应。可能吗?
2) 在这种情况下是否可以使用块级功能?
好的,我找到了方法。
这不是 Californium
的责任。通过 block-wise
选项 Block2
.
管理 PDU 大小
参见 CoAP block-wise RFC Section 3.1
:
In the second example (Figure 3), the client anticipates the block-
wise transfer (e.g., because of a size indication in the link-format
description [RFC6690]) and sends a block size proposal. All ACK
messages except for the last carry 64 bytes of payload; the last one
carries between 1 and 64 bytes.
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
如何为 Californium
服务器动态设置 PDU 的大小?
上下文:
1) 我的设备实现了 coap-client
功能。
此设备受到 RAM
的限制,rx/tx
缓冲区大约有 200 个可用字节。
在请求中,设备可以发送首选 PDU 大小。但我不明白如何使用此 PDU 大小配置服务器响应。可能吗?
2) 在这种情况下是否可以使用块级功能?
好的,我找到了方法。
这不是 Californium
的责任。通过 block-wise
选项 Block2
.
参见 CoAP block-wise RFC Section 3.1
:
In the second example (Figure 3), the client anticipates the block- wise transfer (e.g., because of a size indication in the link-format description [RFC6690]) and sends a block size proposal. All ACK messages except for the last carry 64 bytes of payload; the last one carries between 1 and 64 bytes.
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