CoAP сообщения ненадежны и даже не передаются из конца в конец - такие вещи, как токен, идентификатор сообщения и даже номер наблюдения могут измениться при наличии прокси.
In в частности, где бы ни использовалось наблюдение (включая pub / sub), никакое конкретное представление не гарантировано доходит до наблюдателя; что является гарантированным (и обеспечивается сообщениями CON, регулярно отправляемыми как часть наблюдений), так это то, что в конечном итоге клиент получает то же представление, что и сервер (что также называется «конечной согласованностью») ). Это важная функция, поскольку она позволяет работать даже в перегруженных сетях.
Чтобы проиллюстрировать это примером, сервер может сначала отправить значение «14,7», а затем отправить «14,8» в NON, и прокси может переслать клиенту «14,8». Затем сервер может отправить «14.9» следующим в CON, что прокси-сервер подтверждает, но, возможно, прокси-сервер занят и немного задерживает отправку уведомления клиенту. Затем сервер отправляет «15.0», и прокси немедленно пересылает его. Вы видите, что клиент никогда не получал «14.9», даже несмотря на то, что это был CON, но он получил более позднее значение.
Конечно, не каждое развертывание использует прокси, но это часть дизайна REST архитектуры, что все в них должно работать так же хорошо, если оно есть.