如何进行mqtt协议中broker的moqutte源码分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、防城网络推广、微信小程序开发、防城网络营销、防城企业策划、防城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供防城建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.commqtt协议的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源码分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联网站制作公司行业资讯频道,感谢各位的阅读!
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。