Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Paho连接到MQTT服务器_Javascript_Mqtt - Fatal编程技术网

Javascript 使用Paho连接到MQTT服务器

Javascript 使用Paho连接到MQTT服务器,javascript,mqtt,Javascript,Mqtt,我正在尝试使用Paho的JavaScript库连接到MQTT服务器。我刚刚在泛美卫生组织网站上使用了这个例子。即: function onConnect() { console.log("onConnect"); client.subscribe("harleyRowland/myTopic"); message = new Paho.MQTT.Message("Hello"); message.destinationName = "harleyRowland/myTopic";

我正在尝试使用Paho的JavaScript库连接到MQTT服务器。我刚刚在泛美卫生组织网站上使用了这个例子。即:

function onConnect() {
  console.log("onConnect");
  client.subscribe("harleyRowland/myTopic");
  message = new Paho.MQTT.Message("Hello");
  message.destinationName = "harleyRowland/myTopic";
  client.send(message); 
}
onConnect();
在Safari上,我遇到以下错误:

错误:AMQJS0011E无效状态未连接

在Chrome上,我得到了以下错误以及上面的错误:

到“ws://mosquitoServer.co.uk:1883/mqtt”的WebSocket连接失败: WebSocket握手期间出错:网络::错误\u连接\u重置


我需要使用蚊子服务器来完成这项工作。可以使用JavaScript吗?如果这是不可能的,有没有其他的网络技术我可以使用

您需要在MOSQUITO设置中添加websockets侦听器。您可以通过向mosquitto.conf添加如下内容来实现

listener 1884
protocol websockets
这将通过端口1884(而不是1883)上的WebSocket侦听MQTT,因为您不能使用MOSQUITO在同一个套接字上同时运行这两个端口


您还需要运行比1.4更新的mosquitto,而不是在Windows上运行,除非您自己编译它

您可以在Windows上使用WebSocket,您只需自己编译即可。我无法向蚊子服务器添加功能(它不属于我)。这是否使通过web与MQTT进行交互变得不可能?如果代理没有为WebSocket配置,那么paho代码将无法与其进行通信。可以通过Websocket网桥运行原始MQTT到MQTT,但您必须在某个地方托管它