使用包含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但仍然遇到同样的错误。
答案 0 :(得分:5)
Mosquitto没有默认的配置文件位置,因此您需要在命令行中实际指定它
$ mosquitto -c /path/to/mosquitto.conf
如果您仍希望在1883年侦听本机MQTT连接以及1884年的websockets,那么配置文件中还应该有一行额外的行
port 1883
listener 1884
protocol websockets
这应该会让你成为一个正在运行的代理,实际上是在端口1884上通过Websockets监听MQTT