Я подключаюсь к комару с помощью клиента Paho JS. Подключается нормально. Но событие onConnect срабатывает без остановки. Я проверял логи в брокере, и похоже, что он просто подключается один раз. Почему это происходит? Я просто использовал код, который появляется на официальном веб-сайте:
<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 host = "192.168.1.200";
var port = 1884;
// Create a client instance
client = new Paho.MQTT.Client(host, port, "abcd");
// set callback handlers
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
// connect the client
client.connect({onSuccess:onConnect});
// called when the client connects
function onConnect() {
// Once a connection has been made, make a subscription and send a message.
console.log("onConnect");
client.subscribe("World");
message = new Paho.MQTT.Message("Hello");
message.destinationName = "World";
client.send(message);
console.log("messageSent");
}
// called when the client loses its connection
function onConnectionLost(responseObject) {
if (responseObject.errorCode !== 0) {
console.log("onConnectionLost:"+responseObject.errorMessage);
}
}
// called when a message arrives
function onMessageArrived(message) {
console.log("onMessageArrived:"+message.payloadString);
}
</script>
</head>
<body>
<h1>Main Body</h1>
<script>
</script>
</body>
</html>