无法使用 Javascript Ionic 连接到 MQTT 代理(mosquitto)

Cannot connect to MQTT broker(mosquitto) with Javascript Ionic

本文关键字:代理 MQTT mosquitto 连接 Javascript Ionic      更新时间:2023-09-26

我试图将MQTT与Ionic框架绑定。尝试向代理发送 MQTT 消息(我正在发布)时,当发生单击事件时,我收到以下错误:

"AMQJS0011E 无效状态未连接..." "WebSocket 连接到'ws://test.mosquitto.org:8080/mqtt'失败:错误>在 WebSocket 握手期间:net::ERR_CONNECTION_RESET"

请问谁能帮我?我在任何地方都找不到解决方案。

我也尝试使用端口 1883,但问题仍然存在。

var App = angular.module("App",["ionic","ngWebSocket"]);
App.controller("Appctrl",["$scope","$log",Appctrl]);
function Appctrl($scope,$log,$websocket){
$scope.mqtt_on = function() {
   client = new Paho.MQTT.Client("test.mosquitto.org",    
   Number(8080),"zsrgdxrgdt");
   client.connect();
   message = new Paho.MQTT.Message("Hello");
   message.destinationName = "test/smit";
   client.send(message);
   alert("ON");
};
$scope.mqtt_off = function() {
   alert("Off");
`enter code here`};
};

Paho Javascript 客户端是异步的,connect函数将在连接完成之前返回

因此,在连接完成之前将调用send

connect函数可以接受一个参数,该参数可以包含一个回调函数,以便在连接完成后调用。所以这样的事情应该有效

client.connect({onSuccess: function(){
  message = new Paho.MQTT.Message("Hello");
  message.destinationName = "test/smit";
  client.send(message);
}});