mqtt 服务使用
-
安装 windows 下 mqtt 服务: mosquitto
mosquittos 1.6 : https://mosquitto.org/files/binary/win64/ -
修改 mosquitto 配置文件(mosquitto.conf),让其既支持 tcp 连接,也支持 websockets 连接
参考:https://blog.csdn.net/houjixin/article/details/79789448
修改地方:–》 mosquitto 支持多端口不同协议监听,这样一个 mosquitto 就可以同时支持 mqtt,websocket 协议
#Default listener // 显示监听 1883 for tcp,使用 mqtt 协议
port 1883
protocol mqtt
#Extra listeners // 监听 9001 for websockets,开启额外端口监听来支持 websocket 协议
listener 9001
protocol websocketsallow_anonymous true 允许匿名访问,不做验证
-
安装 mqtt.fx 测试工具,测试 mqtt 发布与订阅
mqtt.fx 1.7.1 : http://www.jensd.de/apps/mqttfx/1.7.1/
ip:127.0.0.1, port:1883 // 为 tcp 监听端口,使用java连接也是该端口 -
前端通过 websocket 订阅 mqtt 信息
参考:https://www.eclipse.org/paho/clients/js/
paho 方法参考:https://www.eclipse.org/paho/files/jsdoc/Paho.MQTT.Client.html -
其他
1). mqtt 信息订阅加密问题
2). mosquitto 集群问题
Java 使用的库
<!-- mqtt client -->
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.0.2</version>
</dependency>
前端代码:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js" type="text/javascript"></script>
</head>
<body>
test
<script type="text/javascript">