2015-12-06 3 views
0

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

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

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

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

Спасибо, Mathias

ответ

1

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

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

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

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

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

Но опубликовать сообщение с полезной нагрузкой HelloWorld по теме ID АБ (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 в спецификации)

0

Октет является байт.

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