Как работает протокол MQTT

Может ли кто-нибудь подробно объяснить работу протокола MQTT? Существует ли постоянная связь между брокером и издателем/подписчиком? Или брокер устанавливает соединения по мере необходимости?


person Akshay Kumar    schedule 09.02.2017    source источник
comment
Этот тип вопросов не относится к теме переполнения стека, я предлагаю вам взглянуть на спецификацию, на которую есть ссылка с mqtt.org   -  person hardillb    schedule 09.02.2017


Ответы (1)


Может ли кто-нибудь подробно объяснить работу протокола MQTT?

MQTT — это протокол централизованного брокера Pub/Sub, который обычно реализуется через TCP, и обычно я имею в виду, что спецификация не требует, чтобы базовый протокол был TCP, но является наиболее часто используемым. Также доступны реализации веб-сокетов.

Существует ли постоянная связь между брокером и издателем/подписчиком?

Да, TCP-соединение устанавливается, когда вы отправляете сообщение MQTT Connect, которое является первым пакетом, который вам нужно отправить, независимо от того, какой вы клиент. У MQTT есть способы определить, разорвано ли это соединение, и действовать соответственно. Сеансы могут быть возобновлены после отключения, поэтому закрытие соединения TCP/MQTT не означает, что сеанс будет потерян.

Устанавливает ли брокер соединения по мере необходимости?

Квитирование TCP отправляется перед сообщением о подключении MQTT. Большинство библиотек сделают это за вас, но если вы пытаетесь создать свою собственную библиотеку, вам, очевидно, необходимо установить соединение перед отправкой сообщения Connect.

person Adirio    schedule 10.02.2017