Поддержка веб-сокетов Mosquitto 1.4.2

Я пытаюсь использовать последнее обновление Mosquittos для поддержки веб-сокетов в брокере. Я использую Mosquitto v1.4.2 и добавил следующие строки в файл конфигурации mosquitto (mosquitto.conf):

listener 10001 127.0.0.1
protocol websockets

listener 1883
protocol mqtt

Когда я пытаюсь запустить брокера с новой конфигурацией, я получаю следующее:

$ mosquitto -c /etc/mosquitto/mosquitto.conf
Error: Websockets support not available.
Error found at /etc/mosquitto/mosquitto.conf:16.
Error: Unable to open configuration file.

Я исходил из того, что версия 1.4 и выше Mosquitto теперь имеет поддержку веб-сокетов (не нужно собирать из исходного кода, чтобы включить поддержку веб-сокетов, как это было до версии 1.4), поэтому мне интересно, что мне не хватает. Любая помощь в том, в каком направлении искать, чтобы устранить проблему, приветствуется.

Изменить: забыл упомянуть, что я использую CentOS6


person ns9    schedule 21.05.2015    source источник


Ответы (3)


Хотя кодовая база 1.4.x включает поддержку Websocket, ее необходимо включить во время сборки, и она зависит от библиотеки libwebsocket.

Сборки, доступные в настоящее время в репозиториях yum RedHat/Fedora, не включают Webosockets, так как нет доступного пакета libwebsocket. Я предполагаю, что CentOS использует те же srpms.

Подробнее см. в этой записи об ошибке: https://bugzilla.redhat.com/show_bug.cgi?id=1197678

person hardillb    schedule 22.05.2015

вы можете изменить config.mk следующим образом

в конфиг.мк

# Build with websockets support on the broker.
WITH_WEBSOCKETS:=yes

тогда вы можете использовать параметр конфигурации

listener 10001 127.0.0.1
protocol websockets
person Alvin    schedule 28.06.2015
comment
Можете ли вы объяснить эти шаги - person Manish Kumar; 11.02.2016
comment
У меня была аналогичная проблема с моим Javascript-клиентом Paho и брокером, который я установил на своем локальном хосте, но я выполнил следующие шаги, и это сработало для меня github.com/bapowell/bapowell.github.io/wiki/, однако это для Windows , но, может быть, это может помочь вам - person Vic; 22.04.2016
comment
Я пробовал это, но это не работает, я что-то пропустил? - person david; 07.04.2017
comment
Что делать, если он установлен вместе с yum? - person emir; 06.06.2017

В директории mosquitto-1.4.X отредактируйте файл config.mk:

# Build with websockets support on the broker.
WITH_WEBSOCKETS:=yes

Затем запустить в директории mosquitto-1.4.X

make
sudo make install

Отредактируйте конфигурации /etc/mosquitto/mosquitto.conf.

listener 10001 127.0.0.1
protcol websockets

И перезапустить

mosquitto -c /etc/mosquitto/mosquitto.conf
person Ramb0    schedule 06.12.2016