千家信息网

如何进行mqtt协议中broker的moqutte源码分析

发表于:2025-02-21 作者:千家信息网编辑
千家信息网最后更新 2025年02月21日,如何进行mqtt协议中broker的moqutte源码分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mqtt协议的broker有很多
千家信息网最后更新 2025年02月21日如何进行mqtt协议中broker的moqutte源码分析

如何进行mqtt协议中broker的moqutte源码分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

mqtt协议的broker有很多,但是java的支持集群的并不多,之前调研过一番,发现moqutte基本满足需求,就想着基于这个在自己做二次开发。
github地址:https://github.com/andsel/moquette
一。将代码倒入idea
找到启动类

启动报错,是因为找不到moquette的配置文件

跟踪源码moquette的配置文件地址是config/moquette.conf
因为咱们是直接启动的Server类里面的main方法,而不是通过assebely打包的jar包,所有这个位置是没有配置文件的,但是moquette支持通过启动参数指定配置文件的位置

那就简单了,把启动需要的配置文件放到本地的某个地方,再通过启动参数指定就行了,在idea里面指定

我是放在/data/moquette目录下
另外idea启动需要的配置文件再,broker模块下的config包里面,或者distribution/src/main/resources
加入之后启动成功

二。配置文件讲解
moqutte的配置文件有五个,下面分别讲解一个有什么作用
1.moquette.conf 主配置文件,moquette启动需要的主要配置都在这里,包括端口号,认证鉴权,存储等,后面讲解源码的时候会详细讲解各个参数的意义
2.hazelcast.xml moquette的集群是通过.hazelcast来实现的,不了解的同学可以自行google一下,这里就不详细讲了
3.password_file.conf 这里配置的是连接是需要的密码
4.acl.conf 这里是各个client对topic的读写权限
5.log4j.properties 日志文件,不多说了

三。客户端选择,本人选择的是eclipse的paha,github地址https://github.com/eclipse/paho.mqtt.java
倒入idea之后找到如下的测试类

在moquette的io.moquette.server.netty.NettyMQTTHandler类上的打断点,重新启动

启动paha的测试类,开始测试

发现moquette的断点进来了,说明client到broker的链路走通了,后面就可以跟踪源码了

之所以在这打断点是因为这是netty与其他应用的接入点,对netty了解的同学应该知道,应用其实只需要实现一个handler,当有数据流的时候,由netty负责回调你的handler。

看完上述内容,你们掌握如何进行mqtt协议中broker的moqutte源码分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

配置 文件 源码 参数 地址 方法 测试 分析 位置 内容 同学 时候 更多 问题 集群 应用 支持 跟踪 选择 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 自动生成数据库的字段和表 网络安全域名的访问限制不严格 网络安全周电信日文稿 南京教育网络安全培训 恢复微信删除的数据库文件 软件开发有啥优惠政策 linux环境安装数据库 使用DB2数据库 测试中什么情况会用到数据库 查询达梦数据库的版本 栖霞商城软件开发公司 数据库就业前景好吗 数据库修改连接密码怎么修改 在数据库中字段名可以相同吗 软件开发工作十年后还能干什么 r750服务器优势 数据库学生选课系统设计报告 服务器操作系统价值 聊城市网络安全监测有限公司 大足区网络安全审计系统咨询辅导 如何做好一名网络安全警察 安全卫士下载软件开发 dell服务器共享网卡 软件开发安全及保密办法 修改服务器的主机名指令 软件开发设计文档模板下载 属于电子图书的数据库 各级党委承担网络安全责任 十万名用户要多大的服务器 网络安全防护体系等级
0