MQTT: Raw Header - не понимаю этого - PullRequest
1 голос
/ 05 февраля 2020

Я разрабатываю небольшой клиент MQTT для подписки и мониторинга определенных тем. По большей части, это работает хорошо, принимая информацию о длине в один байт (2-й байт). Но иногда я получаю ответ 0x30, который я не могу понять. Кажется, он имеет длину в несколько байтов, но ни один из байтов длины не имеет своего установленного MSB.

Заголовок 0000: 3031312700127b6c756d6f7375727d2f 011'..{lumosur}/ 0010: 6461746574696d65323032302d30322d datetime2020-02- 0020: 30342032333a32313a3437311900127b 04 23:21:471...{

Как с этим разобраться?

Спасибо за помощь.

мм.

1 Ответ

0 голосов
/ 05 февраля 2020

Nevermind. Хотя я часами смотрел на эту проблему, только после того, как я опубликовал вопрос, меня осенило. Протокол не имеет проблемы: я неправильно прочитал данные.

Это двоичный протокол, поэтому я должен прочитать блоки в соответствии с полем длины в заголовке. Я сделал это неправильно, поэтому данные, которые я предположил, были правильными, данные заголовка фактически не были правильно выровнены.

Извините, что беспокою вас: D

Микаэла

...