我们正在考虑在新设备上使用MQTT作为消息传递协议。我们还想为设备提供一个Web界面。有人知道是否可以实现一个浏览器客户端应用(无需额外插件),并且能够与MQTT通讯吗?
我们正在考虑在新设备上使用MQTT作为消息传递协议。我们还想为设备提供一个Web界面。有人知道是否可以实现一个浏览器客户端应用(无需额外插件),并且能够与MQTT通讯吗?
要延伸hardillbs的回答,现在有第三个选择:
HiveMQ支持本地WebSockets,无需任何外部Web服务器。它与Eclipse Paho的JavaScript客户端完美配合。
如果你想尝试一下,公共MQTTDashboard(使用了HiveMQ)支持在8000端口上使用WebSockets。
披露:我是HiveMQ的开发人员之一。
这篇Jpmens的博客是学习如何设置使用mosquitto websocket功能的好起点。他的基于Paho的客户端javascript代码在Github上。
这篇博客"How to run your web server and MQTT WebSockets broker on the same por"介绍了两种服务器端的方法:
https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js
客户端实例化应该是client = new Paho.MQTT.Client("test.mosquitto.org", 8080,"myclien256tiddd_" + parseInt(Math.random() * 100, 10));