Eu tenho um corretor Mosquitto instalado e funcionando na minha máquina Windows. Não me lembro se o instalei com suporte para Web Sockets (porque eu não sabia o que era isso ou se precisava). Mas, agora que meu requisito é usar JavaScript (Paho) para conectar-se ao MQTT, quero saber como ativar o suporte ao Web Socket para meu broker MQTT existente.
Tentei editar o mosquitto.conf
arquivo adicionando essas linhas ao arquivo
listener 9001
protocol websockets
mas não parece funcionar. Estou anexando uma imagem que pode fornecer uma imagem melhor:
Também não tenho muita certeza dos comandos, mas eles parecem funcionar com a porta 1883 padrão.
Portanto, a pergunta é: como faço para funcionar?
fonte
Como @hardlib disse, você precisa compilar mosquitos a partir de fontes. Demorou algumas tentativas e erros para fazê-lo funcionar no Windows, então aqui está um resumo no caso de ajudar alguém. Por favor, não hesite em corrigi-lo:
Pré-requisitos
Crie libwebsockets:
git clone https://github.com/warmcat/libwebsockets.git
e entrar no diretório do projeto6cf0a981667f0d225a9cf2d7aecfd6f50be6c1fb
)mkdir build && cd build
Construir mosquito
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
de config.htimespec
estrutura de pthreads.h#include <Windows.h>
ao if32 de win32 do mosquitto_passwd.cfonte
A partir da 1.5.1, o pacote do Windows suporta websocket, consulte changelog https://mosquitto.org/blog/ Você precisa apenas editar o arquivo mosquitto.conf, especifique o uso do protocolo websocket adicionando "protocol websockets" (consulte a definição em torno da linha 145) e, eventualmente, reinicie o mosquitto se você o executar como um serviço
fonte
listener 9001
eprotocol websockets
utilize o suporte e uso da Websocktlistener 1883
e,protocol mqtt
ao seu tráfego padrão permitido do mosquiteiro.config, mqttEncontrei uma versão compilada do Mosquitto com WebSockets criados para Windows no GitHub que pode ser útil se você não quiser criar o código por conta própria.
Embora esteja documentado em coreano, também inclui uma apresentação do PowerPoint com instruções sobre como construí-lo, se você não desejar usar os binários pré-compilados.
fonte