Tengo un corredor Mosquitto en funcionamiento en mi máquina Windows. No recuerdo si lo instalé con soporte de Web Sockets (porque no sabía qué era eso o si lo necesitaba). Pero ahora que mi requisito es utilizar JavaScript (Paho) para conectarse a MQTT, quiero saber cómo habilitar el soporte de Web Socket para mi agente MQTT existente.
Intenté editar el mosquitto.conf
archivo agregando estas líneas al archivo
listener 9001
protocol websockets
pero no parece funcionar Adjunto una imagen que podría proporcionar una mejor imagen:
Tampoco estoy muy seguro de los comandos, pero parecen funcionar con el puerto predeterminado 1883.
Entonces la pregunta es: ¿Cómo hago que funcione?
fuente
Como dijo @hardlib, debes compilar mosquitto de las fuentes. Nos llevó un poco de prueba y error hacer que funcionara en Windows, así que aquí hay un resumen en caso de que ayude a alguien. Por favor no dude en corregirlo:
Prerrequisitos
Construir libwebsockets:
git clone https://github.com/warmcat/libwebsockets.git
y entrar en el directorio del proyecto6cf0a981667f0d225a9cf2d7aecfd6f50be6c1fb
)mkdir build && cd build
Construye mosquitto
git clone https://github.com/eclipse/mosquitto.git
cd mosquitto
mkdir build && cd build
cmake -G "Visual Studio 15" ..
cmake-gui
#define snprintf sprintf_s
desde config.htimespec
estructura de pthreads.h#include <Windows.h>
al win32 ifdef de mosquitto_passwd.cfuente
A partir de 1.5.1, el paquete de Windows admite websocket, consulte el registro de cambios https://mosquitto.org/blog/ Solo tiene que editar el archivo mosquitto.conf, especifique para usar el protocolo websocket agregando "protocolo websockets" (consulte la definición alrededor de la línea 145) y eventualmente reinicie mosquitto si lo ejecuta como un servicio
fuente
listener 9001
yprotocol websockets
para el apoyo Websockt y el usolistener 1883
yprotocol mqtt
a su mosquitto.config permitir el tráfico por defecto MQTTEncontré una versión compilada de Mosquitto con WebSockets creado para Windows en GitHub que puede ser útil si no desea construir el código usted mismo.
Si bien está documentado en coreano, también incluye una presentación de PowerPoint con instrucciones sobre cómo construirlo usted mismo, si no desea utilizar los binarios precompilados.
fuente