使用 Paho 连接到 Mosquitto MQTT 服务器

Using Paho to connect to Mosquito MQTT server

我正在尝试使用 Paho 的 JavaScript 库连接到 Mosquito MQTT 服务器。我刚刚使用了 Paho 网站上的示例。即:

function onConnect() {
  console.log("onConnect");
  client.subscribe("harleyRowland/myTopic");
  message = new Paho.MQTT.Message("Hello");
  message.destinationName = "harleyRowland/myTopic";
  client.send(message); 
}
onConnect();

在 Safari 上,我收到以下错误:

Error: AMQJS0011E Invalid state not connected.

和 Chrome,我收到以下错误以及上面的错误:

WebSocket connection to 'ws://mosquitoServer.co.uk:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

我需要使用 Mosquito 服务器来完成这项工作。可以使用 JavaScript 吗?如果不可能,我可以使用另一种网络技术吗?

您需要在您的 mosquitto 设置中添加一个 websockets 侦听器。您可以通过在 mosquitto.conf

中添加类似以下内容来执行此操作
listener 1884
protocol websockets

这将在端口 1884 上通过 websockets 监听 MQTT(不是 1883,因为你不能 运行 在同一个套接字上使用 mosquitto)。

您还需要 运行ning mosquitto 比 1.4 更新,而不是 Windows,除非您自己编译它