mqtt -- 前端订阅 mqtt 信息

本文介绍了如何在Windows上安装和配置Mosquitto MQTT服务以支持TCP和WebSocket连接,允许匿名访问。此外,使用mqtt.fx工具进行测试,并通过Paho MQTT JavaScript库在前端订阅MQTT信息。讨论了MQTT信息加密和Mosquitto集群的问题,并提供了Java和前端代码示例。
摘要由CSDN通过智能技术生成

mqtt 服务使用

  1. 安装 windows 下 mqtt 服务: mosquitto
    mosquittos 1.6 : https://mosquitto.org/files/binary/win64/

  2. 修改 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 websockets

allow_anonymous true 允许匿名访问,不做验证

  1. 安装 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连接也是该端口

  2. 前端通过 websocket 订阅 mqtt 信息
    参考:https://www.eclipse.org/paho/clients/js/
    paho 方法参考:https://www.eclipse.org/paho/files/jsdoc/Paho.MQTT.Client.html

  3. 其他
    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">
vue-mqtt-websocket-example是一个基于Vue.js框架的示例应用程序,用于演示如何在前端使用MQTT和WebSocket实现实时通信功能。 这个示例应用程序使用了Vue.js的单文件组件结构,其中包含了主组件和子组件。主组件负责连接MQTT代理服务器并监听/subscribe主题,同时也负责将接收到的消息传递给子组件以进行显示。子组件用于展示接收到的消息列表并提供发布消息的功能。 在这个示例应用程序中,使用的是MQTT over WebSocket,它通过WebSocket协议在浏览器和MQTT代理服务器之间建立了一条双向通信的通道。这种方式可以使浏览器直接与MQTT代理服务器通信,而无需借助中间层。 示例应用程序中的主要功能如下: 1. 连接MQTT代理服务器:通过指定服务器的地址、端口和协议等信息,与MQTT代理服务器建立连接。 2. 订阅主题:指定要订阅的主题,然后监听该主题下的消息。 3. 接收消息:当有新的消息到达时,将消息添加到消息列表中,并通过子组件的props属性将消息传递给子组件进行展示。 4. 发布消息:在子组件中,可以输入要发布的消息内容,并通过调用MQTT客户端的publish方法将消息发布到指定的主题。 总之,vue-mqtt-websocket-example提供了一个简单易用的示例,演示了如何在Vue.js应用程序中使用MQTT和WebSocket实现实时通信功能。你可以通过参考这个示例来了解如何在自己的Vue.js项目中集成和使用MQTT和WebSocket。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值