如何从 MQTT javascript 客户端连接到 Mosquitto 服务器?
How to connect from MQTT javascript client to Mosquitto Server?
控制台浏览器中的错误日志:
"WebSocket connection to 'ws://127.0.0.1:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET"
我的代码 .js 连接 mosquitto 服务器:
var options = {
clientId: 'web-client',
connectTimeout: 5000,
hostname: '127.0.0.1',
port: 1883,
path: '/mqtt'
};
var client = mqtt.connect(options);
- 使用库 mqtt-2.9。0.js
- 使用 mosquitto v1.5.4 windows10
=========================================
虽然 1883 是 vanilla MQTT 连接的常用端口 - websockets 通常的默认端口是 8883 端口。您是否尝试过 8883 端口?
Durr 将我的拼写错误 8888 修改为 8883
默认情况下,Mosquitto 侦听端口 1883 并接受使用本机 MQTT 的连接
如果您想通过 Websockets 连接 MQTT,您需要配置 Mosquitto 以侦听不同的端口并指定使用 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 对于连接的每个客户端都必须是唯一的,因此如果您要一次加载页面不止一次,则需要将其设置为动态的。
控制台浏览器中的错误日志:
"WebSocket connection to 'ws://127.0.0.1:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET"
我的代码 .js 连接 mosquitto 服务器:
var options = {
clientId: 'web-client',
connectTimeout: 5000,
hostname: '127.0.0.1',
port: 1883,
path: '/mqtt'
};
var client = mqtt.connect(options);
- 使用库 mqtt-2.9。0.js
- 使用 mosquitto v1.5.4 windows10
=========================================
虽然 1883 是 vanilla MQTT 连接的常用端口 - websockets 通常的默认端口是 8883 端口。您是否尝试过 8883 端口?
Durr 将我的拼写错误 8888 修改为 8883
默认情况下,Mosquitto 侦听端口 1883 并接受使用本机 MQTT 的连接
如果您想通过 Websockets 连接 MQTT,您需要配置 Mosquitto 以侦听不同的端口并指定使用 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 对于连接的每个客户端都必须是唯一的,因此如果您要一次加载页面不止一次,则需要将其设置为动态的。