gpt4 book ai didi

javascript - 通过 Web 套接字将网页连接到 MQTT 代理

转载 作者:行者123 更新时间:2023-12-03 02:23:31 26 4
gpt4 key购买 nike

我在cloudMQTT创建了mqtt代理,这是我得到的有关端口和服务器的信息

click to see image of ports

现在我编写了该代码来运行连接到该代理并发送 hello world 的网页。

<html>
<head>
<title>JavaScript MQTT WebSocket Example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript">
</script>
<script type = "text/javascript" language = "javascript">
var mqtt;
var reconnectTimeout = 2000;
var host="m23.cloudmqtt.com"; //change this
var port= 38788;

function onConnect() {
// Once a connection has been made, make a subscription and send a message.

console.log("Connected ");
//mqtt.subscribe("sensor1");
message = new Paho.MQTT.Message("Hello world");
message.destinationName = "orange1";
mqtt.send(message);
}
function MQTTconnect() {
console.log("connecting to "+ host +" "+ port);
mqtt = new Paho.MQTT.Client(host,port,"clientjs");
//document.write("connecting to "+ host);
var options = {
timeout: 3,
onSuccess: onConnect,

};

mqtt.connect(options); //connect
}

</script>
</head>
<body>
<h1>Main Body</h1>
<script>
MQTTconnect();
</script>
</body>
</html>

每次我打开该页面并打开 console.js 时,我都会收到该问题消息:

error message that appear at console.log

(这里是我的 console.log 中出现的错误列表..以帮助任何可以看到图像的人)与“ws://m23.cloudmqtt.com:38788/mqtt”的 WebSocket 连接失败:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET mqttws31.js:979

Paho.MQTT.ClientImpl._doConnect @ mqttws31.js:979

Paho.MQTT.ClientImpl.connect @ mqttws31.js:849

Client.connect@mqttws31.js:1799

MQTTconnect @ websockets-1.htm:31

(匿名)@ websockets-1.htm:39

与“ws://m23.cloudmqtt.com:38788/mqtt”的 WebSocket 连接失败:WebSocket 握手期间出错:net::ERR_CONNECTION_RESET mqttws31.js:977

Paho.MQTT.ClientImpl._doConnect @ mqttws31.js:977

Paho.MQTT.ClientImpl._disconnected @ mqttws31.js:1459

Paho.MQTT.ClientImpl._on_socket_error @ mqttws31.js:1347

(匿名)@mqttws31.js:157

我尝试更改端口,但遇到了同样的问题。我该如何解决这样的问题?如果我尝试连接到 https://test.mosquitto.org/我有同样的问题?这也如何解决?

最佳答案

您需要设置标志以启用 SSL(端口图片表明 Websockets 需要 TLS)

var options = {
timeout: 3,
onSuccess: onConnect,
useSSL: true
};

关于javascript - 通过 Web 套接字将网页连接到 MQTT 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49054009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com