#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 имеет единственное постоянное соединение, которое остается открытым в течение всего срока службы клиента.