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

时间:2016-08-03 16:30:11

标签: javascript websocket mqtt mosquitto

使用包含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连接到' ws:// localhost:1883 / mqtt'失败:错误   连接建立: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但仍然遇到同样的错误。

1 个答案:

答案 0 :(得分:5)

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

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

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

port 1883

listener 1884
protocol websockets

这应该会让你成为一个正在运行的代理,实际上是在端口1884上通过Websockets监听MQTT