MQTT = Binary protocol

Hi guys! I’m following the recommendation of post here my “technical question” instead comment on YouTube video. So, after watch the MQTT Essentials - Part 2 video on YouTube, I was thinking about the content and just couldn’t understand clearly the idea that MQTT is a binary protocol. What makes MQTT classified in this way?
Thanks in advance.

Hi Bruno,

Glad to see you are a part of the Community Forum now!
Binary protocol in this context means that the data exchange happens within binary messages (containing of bits).
A different approach would be HTML for example, which is document centric.
Let me know, if you are looking for additional clarification.

Best,
Florian from the HiveMQ Team.

I am still confused about “Binary protocol in this context means that the data exchange happens within binary messages (containing of bits).”
Could you please name more binary protocol?
Thanks.

HI @Jhone,

This StackOverFlow post provides a good summary.

Best,
Florian

Thank you so much.It’s really useful.

but the video say mqtt is data agnostic, it can send xml, json etc.
so it mean mqtt convert json to binary?

Hi @cordic45 ,

Nice to see your first MQTT question, welcome to the community!

MQTT will not convert JSON to binary. MQTT payload can be XML, JSON or binary – for the MQTT protocol it does not matter, it is data-agnostic.

I hope this helps,
Dasha from HiveMQ team

ALL data is binary. A limited subset of that binary data is ASCII text, Unicode text, XML, or other formats that restrict the data that can be sent to a particular format. A “binary protocol” is simply one that has no such limitations. It doesn’t “convert” text to binary–it’s already binary. It just doesn’t require the data to be in any more limited format like text, JSON, XML, or whatever.

1 Like