Что происходит под капотом в случае MQTT и MQTT через websocket?

#http #websocket #mqtt

#http #websocket #mqtt

Вопрос:

Для каждого запроса как HTTP, так и веб-сокеты выполняют 3-стороннее рукопожатие, за которым следует запрос / ответ и завершение (постоянное соединение).

Как и выше, у нас есть MQTT и MQTT через websocket, оба основаны на модели pub / sub. MQTT идеально подходит для оборудования IoT, поскольку сертификат и ключ могут быть надежно сохранены на аппаратном устройстве. Где MQTT через websocket идеально подходит для мобильных / веб-приложений.

Что происходит под капотом в случае MQTT и MQTT через websocket с точки зрения квитирования / обмена данными / TCP / UDP?

Ответ №1:

Нет никакой разницы между MQTT и MQTT через Websocket.

На транспортном уровне есть только дополнительная часть с MQTT через Websocket. Таким образом, после настройки соединения с Websocket фактические байты, которые передаются по соединению, точно одинаковы для собственных MQTT и MQTT через Websocket.

Итак, вы получаете HTTP GET, поток ОБНОВЛЕНИЯ, а затем он поступает прямо в пакет MQTT Connect, как указано в спецификации MQTT

Комментарии:

1. Можете ли вы добавить дополнительную информацию, например — рукопожатие — http имеет 3 способа рукопожатия для каждого запроса. Что насчет MQTT? Я пытаюсь понять, что происходит под капотом в случае MQTT и MQTT через websocket с точки зрения рукопожатия / обмена данными по сравнению с HTTP?

2. Рукопожатия нет, MQTT имеет единственное постоянное соединение, которое остается открытым в течение всего срока службы клиента.