我无法从Paho MQTT Javascript客户端版本1.1.0连接到我的Mosquitto经纪人。我以前使用的是1.0.1版,但我决定进行更改,因为我需要使用通配符,我认为通配符在1.0.1版中不受支持,因为它们不起作用。
要在1.0.1版中进行连接,我正在这样做:
host=192.168.1.42
port=9873
id="whatever"
mqtt = new Paho.MQTT.Client(host,port,id);
在1.1.0版中,这种连接方式无效。我看到了一个解释here,并按如下所示尝试过它:
mqtt = new Paho.Client("wss://192.168.1.42/mqtt",id);
这将导致错误,表明Firefox无法建立与wss://192.168.1.42/mqtt的连接。
使用1.1.0版进行连接的正确方法是什么?
通配符订阅可以在任何版本的Paho Javascript客户端上使用。但是无论如何。
如docs中所述,客户端构造函数host
字段可以是以下之一:
消息传递服务器的地址,作为标准的WebSocket URI,作为DNS名称或点分十进制IP地址。
您似乎为WebSocket侦听器使用了非标准端口(9873与443),因此您将需要在URI中包括端口号。
mqtt = new Paho.Client("wss://192.168.1.42:9873/mqtt",id);