如何从 MQTT javascript 客户端连接到 Mosquitto 服务器
How to connect from MQTT javascript client to Mosquitto Server
我尝试将 eclipse paho javascript 客户端连接到本地托管的 mqtt mostquitto 服务器,但出现以下错误:
1515729801: New connection from 127.0.0.1 on port 1883.
1515729801: Socket error on client <unknown>, disconnecting.
代码:
<html>
<head>
<meta charset="utf-8">
<title>kajshdkjas</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js"></script>
<script type="text/javascript" language="javascript">
var mqtt;
var reconnectTimeout = 2000;
var host = "127.0.0.1";
var port = 1883;
function onConnect() {
console.log("Connected");
message = new Paho.MQTT.Message("Hello World");
message.destinationName = "sensor1";
mqtt.send(message);
}
function MQTTconnect() {
console.log("Connected to " + host + " " + port);
mqtt = new Paho.MQTT.Client(host, port, "Clientjs");
var options = {
timeout: 3,
onSuccess: onConnect,
};
mqtt.connect(options);
}
</script>
</head>
<body>
<script type="text/javascript">MQTTconnect();</script>
</body>
</html>
我尝试在正常情况下和在我的 apache 服务器中托管它。我哪里做错了?
您正在尝试使用 Javascript 客户端从网页连接到本机 MQTT 端口。这将不起作用,您只能从网页内连接到 websocket 端点。
您需要确保 Mosquitto 配置为侦听 websocket 连接(很可能在与 1883 不同的端口上),然后将正确的端口号放入您的页面。
我尝试将 eclipse paho javascript 客户端连接到本地托管的 mqtt mostquitto 服务器,但出现以下错误:
1515729801: New connection from 127.0.0.1 on port 1883.
1515729801: Socket error on client <unknown>, disconnecting.
代码:
<html>
<head>
<meta charset="utf-8">
<title>kajshdkjas</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js"></script>
<script type="text/javascript" language="javascript">
var mqtt;
var reconnectTimeout = 2000;
var host = "127.0.0.1";
var port = 1883;
function onConnect() {
console.log("Connected");
message = new Paho.MQTT.Message("Hello World");
message.destinationName = "sensor1";
mqtt.send(message);
}
function MQTTconnect() {
console.log("Connected to " + host + " " + port);
mqtt = new Paho.MQTT.Client(host, port, "Clientjs");
var options = {
timeout: 3,
onSuccess: onConnect,
};
mqtt.connect(options);
}
</script>
</head>
<body>
<script type="text/javascript">MQTTconnect();</script>
</body>
</html>
我尝试在正常情况下和在我的 apache 服务器中托管它。我哪里做错了?
您正在尝试使用 Javascript 客户端从网页连接到本机 MQTT 端口。这将不起作用,您只能从网页内连接到 websocket 端点。
您需要确保 Mosquitto 配置为侦听 websocket 连接(很可能在与 1883 不同的端口上),然后将正确的端口号放入您的页面。