MQTT mosquitto - 使用 mqttws31.js 在 javascript 中实施 websocket

MQTT mosquitto - Implementing websocket in javascript using mqttws31.js

通过包含 mqttws32.js 文件,使用 javascript 使用 MQTT 和 mosquitto 代理实施 websocket。

Mosquitto 版本:1.4.9

开始我得到:

rohan@rohan-PC:~$ mosquitto
1470241326: mosquitto version 1.4.9 (build date Fri, 03 Jun 2016 09:22:47 +0100) starting
1470241326: Using default config.
1470241326: Opening ipv4 listen socket on port 1883.
1470241326: Opening ipv6 listen socket on port 1883.

因为最新版本的 mosquitto 支持 Web 套接字。

我正在使用以下代码:

client = new Paho.MQTT.Client("localhost", 1883, "myclientid_" + parseInt(Math.random() * 100, 10));

获取错误:

WebSocket connection to 'ws://localhost:1883/mqtt' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

我的听众:

1470241581: New connection from ::1 on port 1883.
1470241581: Socket error on client <unknown>, disconnecting.

搜索后我找到了将以下行添加到 mosquitto.conf 文件的解决方案

listener 1884
protocol websockets

我将端口更改为 1884,但仍然出现相同的错误。

Mosquitto 没有默认配置文件位置,因此您需要在命令行中实际指定它

$ mosquitto -c /path/to/mosquitto.conf

如果您仍想在 1883 上监听本机 MQTT 连接以及在 1884 上监听 websockets,那么配置文件中还应该有一个额外的行

port 1883

listener 1884
protocol websockets

这应该会让您获得一个正常运行的代理,它实际上在端口 1884 上通过 Websockets 侦听 MQTT