ИДТП
IDTP ( Протокол отслеживания идентификаторов ) — это протокол связи для отслеживания сообщений о вещах, идентифицируемых UTDI ( Utid ), который адаптирует модель запроса/ответа и похож на гибрид HTTP и веб-службы, но использует формат данных JSON , а не формат XML .
Функции
[ редактировать ]- он использует UTID, а не URL . Для указания адреса назначения
- Он использует встроенный механизм пересылки для отслеживания сообщений UTID.
Отслеживание
[ редактировать ]Правила пересылки — это совпадение суффикса UTID (в этой статье оно называется правилом трассировки) и соответствие пространства имен (в этой статье оно называется отслеживанием трассировки). Базовым протоколом IDTP может быть TCP, UDP , многоадресная рассылка UDP, HTTP, HTTPS , веб-служба или локальная обработка без пересылки.
Запрос и ответ
[ редактировать ]Пример запроса IDTP:
idtp:0.9/1
utid:125.product~db$com1.test
ns:u.iot.db
name:UtidEcho
len:39
{"refUtid":"312.purchase~db$com2.test"}
Пример ответа IDTP:
idtp:0.9/1
code:200 OK
len:17
{"msg":"success"}
Данные заголовка
[ редактировать ]+-----------------------------------------------------------------+ | Field Description Request Response| +-----------------------------------------------------------------+ | idtp Idtp version,request/response version yes yes | | utid Request UTID by client yes no | | ns Namespace (package) of a request yes no | | name Name of a request yes no | | code Response status code no yes | | len User's data length yes yes | | hop Count of hops, maximum is 8 yes yes | | hops List of hops for loop checking yes yes | | enc Encryption parameters optional optional| +-----------------------------------------------------------------+
Примечание. «Да» или «Нет» в третьем и четвертом столбцах указывают, существует ли поле в данных заголовка запроса или ответа.
Данные пользователя
[ редактировать ]Данные пользователя — это строка JSON или строка XML в одной или нескольких строках, которая представляет сериализованные данные объекта в объектно-ориентированных языках .
Из соображений производительности и простоты рекомендуется использовать формат JSON.
В данных заголовка нет поля типа формата, указывающего, что данные пользователя находятся в строке JSON или в строке XML. Тип формата легко определить, проверив первый символ пользовательских данных, где «{» означает строку JSON, а «<» — строку XML.
Эталонная реализация
[ редактировать ]http://sourceforge.net/p/busilet