MQTT协议

EMQX

MQTT协议介绍

MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议。它特别适用于物联网(IoT)设备之间的通信,因其轻量、高效、低带宽需求等特性,广泛应用于需要高实时性和高可靠性的场景中。

EMQX介绍

EMQX(原名EMQ)是一个开源的、高性能、分布式的MQTT消息中间件。它作为一个MQTT Broker,负责接收客户端设备发布的消息,并将这些消息转发给订阅了相应主题的其他客户端。EMQX支持大规模的并发连接和消息处理,非常适合物联网场景中的大规模设备通信需求 。

MQTTX介绍

MQTTX:客户端工具,用于连接EMQX服务器,模拟收纳消息。

部署启动EMQX

emqx文件夹:使用bin里面的emqx.md:(windows)

启动:emqx start

进入页面:localhos:18083

账号:admin,密码:public

如果连不上在bin目录下重置密码;

emqx start
emqx ctl admins passwd admin admin123

这里改为admin123

加密选择md5(举例)

连上后测试:

数据库查询:(存在mqtt_user表)

update mqtt_user set password = md5(‘123456’)

在MQTTX中连接测试。

springboot整合mqtt

springboot中实现客户端,和MQTTX中创建的客户端功能一致

项目依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-integration</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-mqtt</artifactId>
</dependency>

配置类:MQTTX连接属性+ip+端口号(1883)+ 超时+是否自动重连+是否清理会话

注意:http协议是18083,mqtt协议是1883

@Data
@ConfigurationProperties(prefix = "qf.emqx.mqtt")
public class MqttProperties {
   

private String host = "localhost"; //EMQX服务器主机地址

private int port = 1883; //EMQX服务器端口

private String username; //连接EMQX服务器的账号

private String password
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值