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

时间:2016-02-24 03:26:21

标签: javascript ionic-framework mqtt paho

我尝试将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`};

};

1 个答案:

答案 0 :(得分:0)

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

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

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

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