Может ли кто-нибудь подробно объяснить работу протокола MQTT? Существует ли постоянная связь между брокером и издателем/подписчиком? Или брокер устанавливает соединения по мере необходимости?
Как работает протокол MQTT
Ответы (1)
Может ли кто-нибудь подробно объяснить работу протокола MQTT?
MQTT — это протокол централизованного брокера Pub/Sub, который обычно реализуется через TCP, и обычно я имею в виду, что спецификация не требует, чтобы базовый протокол был TCP, но является наиболее часто используемым. Также доступны реализации веб-сокетов.
Существует ли постоянная связь между брокером и издателем/подписчиком?
Да, TCP-соединение устанавливается, когда вы отправляете сообщение MQTT Connect, которое является первым пакетом, который вам нужно отправить, независимо от того, какой вы клиент. У MQTT есть способы определить, разорвано ли это соединение, и действовать соответственно. Сеансы могут быть возобновлены после отключения, поэтому закрытие соединения TCP/MQTT не означает, что сеанс будет потерян.
Устанавливает ли брокер соединения по мере необходимости?
Квитирование TCP отправляется перед сообщением о подключении MQTT. Большинство библиотек сделают это за вас, но если вы пытаетесь создать свою собственную библиотеку, вам, очевидно, необходимо установить соединение перед отправкой сообщения Connect.