Разница между портом и слушателем в MQTT

Я установил клиент Mosquitto для MQTT на моей локальной машине. У меня есть ниже конфигурации:

listener 1883
protocol mqtt
listener 9001
protocol websockets

В чем разница между работой клиента на mqtt и websockets. Также какая разница, если я меняю слушателя на порт?

2 ответа

Решение

Это означает, что он будет прослушивать 1883 и ожидать MQTT-пакеты, а также прослушивать:9001 и ожидать HTTP/ протокол Websocket.

Проводной протокол - это язык, на котором говорят программы. Иногда уместно говорить: "Йо-суп, TJ", иногда вы должны сказать "Доброе утро, мистер Марвел". То же самое в связи с сервером. Мы все еще изобретаем больше языков.

  • MQTT http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html

    1. установить TCP-соединение
    2. теперь мы говорим MQTT
    3. отправлять пакеты MQTT в соответствии со стандартом (публикация / суб / отмена) или отключаться
  • Протокол веб-сокета, https://tools.ietf.org/html/rfc6455

    1. установить TCP-соединение
    2. отправить HTTP-запрос с Upgrade: websocket заголовок и другая подготовка
    3. Кроме 101 Switching Protocols ответ
    4. Теперь мы говорим о Websocket, любая сторона может отправлять сообщения в соответствии со стандартом

Порт - это число в диапазоне от 1 до 65535. IP-адрес + пара портов определяют конечную точку связи. В некотором смысле порт расширяет пространство IP-адресов, чтобы указать, какой программе на другом компьютере вы собираетесь отправлять свои данные. Например, HTTP-серверы обычно слушают порт 80.

Чтобы сделать жизнь более интересной, иногда вы выбираете случайный порт для прослушивания, потому что

  • сообщество еще не достигло консенсуса о том, какое из них хорошо для нового приложения
  • Ваш сетевой администратор разрешает только определенные порты
  • попытаться убедить себя, что нестандартный порт повышает безопасность
  • известный порт уже занят другим приложением
  • просто хочется повеселиться, сбивая с толку других людей

Клиент Mqtt на веб-сокете (клиент JavaScript Eclipse Paho) ​​может быть запущен из веб-браузера, как в примере ( 1). Обычные клиенты mqtt работают поверх TCP и, следовательно, не могут использоваться напрямую из веб-браузера. Веб-сокеты работают поверх HTTP и могут использоваться непосредственно из веб-браузеров. Если вы пытаетесь использовать москитного брокера, его необходимо скомпилировать с помощью поддержки websocket ( 2)

Порты против Слушателей, см. Файл mosquitto.conf ( 3).

  • Порт - по умолчанию используется слушатель москитного брокера.
  • Прослушиватель - используя эту переменную несколько раз, mosquitto может прослушивать более одного порта. Слушатели также позволяют настройки, такие как максимальное количество подключений на слушателя, протокол и т. Д.
Другие вопросы по тегам