我正在运行一个示例solace broker(使用命令here),并尝试从Web浏览器连接到它。我已经成功使用客户端库连接到它,但是我知道可以使用paho-mqtt库连接到它。不幸的是,所有示例均针对使用不同连接API的Java库。有没有人举过一个名叫“ mqtt.Connect”并获得成功返回码的示例?
答案 0 :(得分:2)
Solace完全支持Eclipse Paho MQTT库...问题是该页面上的快速入门(新位置:https://solace.com/software/getting-started/)并没有公开您需要的所有端口。不幸的是,Docker需要在创建时定义暴露的(发布的)端口(除非您在Linux机器上,并且使用“主机”网络创建了Docker容器)。因此,如果您使用的是适用于Windows的Docker或适用于Mac的Docker,则必须重新创建容器。
默认的MQTT非TLS WebSockets端口为8000。(还有很多:https://docs.solace.com/Configuring-and-Managing/SW-Broker-Specific-Config/SW-Broker-Configuration-Defaults.htm)。因此,您的容器创建命令将类似于:
docker run -d -p 8000:8000 -p 8080:8080 -p 55555:55555 -p:80:80 --shm-size=2g --env username_admin_globalaccesslevel=admin --env username_admin_password=admin --name=solacePSPlusStandard solace/solace-pubsub-standard
这应该允许您的Paho JS API连接!也许还要增加1883(基于TCP的MQTT)和9000(REST消息传递)端口,以防万一。