控制台浏览器中的错误日志:“WebSocket连接到’ws://127.0.0.1:1883 / mqtt’失败:WebSocket握手期间出错:net :: ERR_CONNECTION_RESET”
我的代码.js连接mosquitto服务器:
var …
默认情况下,Mosquitto侦听端口1883并使用本机MQTT接受连接
如果要通过Websockets与MQTT连接,则需要配置Mosquitto以侦听其他端口并指定使用 websockets 运输。
websockets
您可以将以下内容添加到mosquitto.conf:
listener 8883 protocol websockets
这将导致mosquitto通过Websockets节点在端口8883上侦听MQTT。
然后,您可以按如下方式修改代码:
var options = { clientId: 'web-client', connectTimeout: 5000, hostname: '127.0.0.1', port: 8883, path: '/mqtt' }; var client = mqtt.connect(options);
同样值得指出的是,对于连接的每个客户端,您的clientId都必须是唯一的,因此如果您要一次加载多个页面,则需要使其成为动态。
虽然1883是vanilla MQTT连接的常用端口 - websockets的通常默认端口是端口8883.您是否尝试过端口8883?
Durr编辑了我的错字8888到8883