mqtt-sn какой формат необработанных данных

Я очень новичок в этом mqtt-sn. Итак, мой вопрос: как выглядит сообщение mqtt-sn. Так что я имею в виду формат необработанных данных. Я не совсем понимаю, что означает октет. Насколько я понимаю, октет - это байт.

Так данные передаются бинарно?

Или что значит октет точный?

Пожалуйста, может кто-нибудь дать мне образец сообщения. Очень плохо, что в спецификации нет примера сообщения.

Спасибо, Матиас


person mgiaco    schedule 06.12.2015    source источник


Ответы (2)


Октет - это просто набор из 8 бит, поэтому просто другое имя для байта

Таким образом, сообщение состоит из заголовка, состоящего из 2 или 4 байтов, и тела сообщения.

Заголовок подразделяется на 1 ИЛИ 3 байта для длины и 1 байт для типа. Если первый байт равен 0x01, то следующие 2 байта — это длина, иначе значение первого байта — это длина.

Следующий байт — это тип, таблицу допустимых типов сообщений можно найти в разделах 5.2.2 в файле спецификация

Тело сообщения зависит от типа.

Но публикация сообщения с полезной нагрузкой HelloWorld в теме с идентификатором AB (0x41, 0x42) будет выглядеть примерно так:

0x0F  - length (15 bytes total, including length)
0x0C  - msg type (publish)
0x02  - flags (QOS 0, topic name)
0x41  - topic ID 1
0x42  - topic ID 2
0x00  - MsgID (00 for QOS 0)
0x48  - H
0x65  - e
0x6C  - l
0x6C  - l
0x6F  - o
0x57  - W
0x6F  - o
0x72  - r
0x6C  - l
0x64  - d

Где идентификатор темы — это вывод из сообщения о регистрации темы (раздел 6.5 в спецификации).

person hardillb    schedule 06.12.2015

Октет — это байт.

Пример полезной нагрузки отсутствует, поскольку спецификация не определяет формат полезной нагрузки. Вы можете использовать все, что хотите.

person ralight    schedule 06.12.2015