2017-04-25 12 views
0

Californium 서버에 대해 동적으로 PDU 크기를 어떻게 설정할 수 있습니까?Californium 서버에 대한 메시지 (PDU) 크기를 어떻게 설정할 수 있습니까?

컨텍스트 :

1) I 구현 coap-client 기능을 갖는 장치가있다. 이 장치는 RAM으로 제한되며, rx/tx 버퍼의 경우 약 200 개의 사용 가능 바이트가 있습니다.

요청시 장치는 선호하는 PDU 크기를 보낼 수 있습니다. 그러나이 PDU 크기로 서버 응답을 구성하는 방법을 이해하지 못합니다. 가능한가?

2)이 경우 블록 단위 기능이 작동합니까?

답변

0

좋아, 어떻게하는지 알았어.

책임 : Californium이 아닙니다. PDU 크기의 관리는 block-wise 옵션 Block2을 통해 이루어집니다. 두 번째 예에서

(도 3), 클라이언트 때문에 링크 형식 설명의 크기 지표 [RFC6690의 예 (블록 - 현명한 전송 예상 :

CoAP block-wise RFCSection 3.1 참조 ]) 블록 크기 제안서를 보냅니다. 모든 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