이 예에서는 소스 코드가 있는 Coap 소스 코드가 필요하므로 “데이터”라는 CoAP 서버 리소스로 전송된 XML은 CoapPDU::COAP_POST 형식에 대한 C++ 스위치 문에서 처리됩니다(이전 목록 6 참조). Java에서 이 것을 처리하는 것은 간단합니다 (목록 9 참조)도 간단합니다. 그래, 다음 정류장은 서버입니다. 몽구스 /예제 / coap_server 폴더로 이동하여 확인을 실행합니다. CoAP 타이밍 설정을 업데이트하고 예제를 살펴볼 수 있습니다. GitHub의 몽구스/예제/coap_client 폴더에서 사용할 수 있는 내용을 살펴보십시오. 우리는 거기에 메이크 파일이 필요합니다. 일부 코드는 네트워크 통신을 위한 것이지만 나머지는 요청 유형(CON 대 NON 및 GET, POST, PUT, DELETE)을 결정하는 것과 같이 CoAP에 특정합니다. 이 예제에서는 응답 유형이 ACK로 설정되고 응답 페이로드가 백업됩니다. 요청 메서드 CoAP는 요청 메서드 GET(1), POST(2), PUT(3) 및 DELETE(4)와 함께 HTTP와 유사한 웹의 표현 상태 전송 [REST] 아키텍처의 하위 집합을 제시했습니다. 이러한 메서드는 IoT 응용 프로그램의 이벤트를 나타내는 서버의 리소스를 생성, 업데이트, 쿼리 및 삭제하는 데 사용할 수 있습니다.
예를 들어, 센서 판독값을 직접 가져오는 서버는 클라이언트에서 GET 메서드를 요청할 때 적절한 리소스를 정의하고 데이터를 제공하거나 센서 판독값을 보유한 클라이언트가 POST 메서드를 사용하여 센서 판독값을 업데이트할 수 있습니다. 또한 쿼리 문자열이 있는 GET 메서드를 사용하여 리소스를 업데이트할 수 있습니다. 마찬가지로 클라이언트는 POST 메서드를 사용하여 액추에이터를 나타낼 수 있는 리소스를 업데이트할 수 있습니다. 그러나 put 메서드는 idempotent 작업에 대 한 POST를 선호 합니다. 검색 작업은 미리 정의된 경로 /.잘 알려진/코어에서 GET 요청과 함께 추가되며, 응답에서 해당 경로와 함께 사용 가능한 리소스 목록을 반환합니다. ping 작업은 피어가 끝점의 `liveness`를 나타내는 빈 리셋(RST) 메시지로 응답하는 빈 메시지를 전송하여 구현됩니다. 또한 Observe 메서드는 단일 요청에 대해 주기적으로 또는 이벤트 단위로 알림을 전송하는 방식으로 정의됩니다. 요청이 CON 메시지인 경우 각 응답은 CON 형식이며 클라이언트가 승인합니다. 추가된 관찰 옵션을 0으로 설정하여 확장된 GET 요청을 사용하여 관찰을 시작할 수 있습니다. 알림 중 하나에 대해 재설정 메시지를 보내거나 값 1로 설정된 관찰 옵션을 사용하여 명시적 GET 요청을 보내 취소할 수 있습니다. 알림은 지연된 응답의 순서를 재정렬하기 위한 순차값과 함께 관찰 옵션을 사용하고 최대 연령 옵션을 사용하여 캐시의 최신 상태를 유지합니다. 리소스 업데이트의 조합인 Observe 메서드는 MQTT와 같은 다른 프로토콜의 게시-구독 메커니즘과 유사합니다.
또한 CoAP는 데이터그램 한계를 초과하는 많은 양의 데이터를 가능하게 하는 블록 현명한 전송을 제공하며, 더 나은 신뢰성을 갖춘 기본 계층의 조각화를 제거합니다. 다음 예제에서는 UDP 서버를 열고 CoAP 메시지를 보냅니다.