乐趣区

关于java:JAVA连接EMQ实现发布订阅

1. 凋谢端口

EMQ X 默认提供 5 个 Listener,它们将占用以下端口:


端口 阐明
1883 MQTT/TCP 协定端口
11883 MQTT/TCP 协定外部端口,仅用于本机客户端连贯
8883 MQTT/SSL 协定端口
8083 MQTT/WS 协定端口
8084 MQTT/WSS 协定端口

云服务器可在平安组端口放行

或者输出一下命令凋谢相应端口号
firewall-cmd --zone=public --add-port=1883-11883/tcp --permanent // 永恒
firewall-cmd --zone=public --add-port=1883-11883/tcp // 长期
firewall-cmd --zone=public --add-port=1883/tcp --permanent // 永恒凋谢 1883 端口
firewall-cmd --zone=public --remove-port=1883/tcp --permanent // 永恒敞开 1883 端口
firewall-cmd --reload // 在不扭转状态的条件下从新加载防火墙 – 配置立刻失效

注:应用宝塔的小伙伴切记不要遗记宝塔那边也同样须要端口放行

2. 下载 MqttSDK

MqttSDK 下载链接:MqttSDK
下载并解压导入到 idea 中

外围抽象类:MessageHandler,用 final 润饰 ServerMqttClient 进步代码安全性。

3. 登录 EMQ X 治理控制台

应用浏览器关上地址 http:// 服务器 ip:18083,如需登录输出默认用户名 admin 与默认明码 public,登录进入 Dashboard

能够看到此时没有任何客户端连贯上

4. 音讯的公布订阅

执行 main 办法,再看 Dashboard 客户端,此时能够看到有一个用户连贯上来了 【注:因为 EMQ 没有配置登录认证,匿名登录的话是所有用户都能够连贯上来的】


在控制台点击 WebSocket,订阅主题 emq,QoS(0: 最多一次的传输 /1: 至多一次的传输 /2: 只有一次的传输),这里为了保障音讯必达,咱们抉择QoS=2

批改代码:订阅的主题为 java, 公布 message 的主题为emq,执行 main 办法后同时在Dashboard 点击公布订阅,能够看到控制台打印的日志,以及控制台收到的主题音讯


至此 java 连贯 EMQ, 以及模仿主题音讯的公布订阅就 OK 了!
【参考文档】EMQ 官网链接:EMQ 官网
返回上一级 [Centos8.0-EMQ 之搭建部署]:Centos8.0-EMQ 之搭建部署
返回下一级[EMQ 之数据长久化]

退出移动版