中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行mqtt協議中broker的moqutte源碼分析

發布時間:2021-11-26 09:21:17 來源:億速云 閱讀:221 作者:柒染 欄目:開發技術

如何進行mqtt協議中broker的moqutte源碼分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

mqtt協議的broker有很多,但是java的支持集群的并不多,之前調研過一番,發現moqutte基本滿足需求,就想著基于這個在自己做二次開發。
github地址:https://github.com/andsel/moquette
一。將代碼倒入idea
找到啟動類
如何進行mqtt協議中broker的moqutte源碼分析
啟動報錯,是因為找不到moquette的配置文件
如何進行mqtt協議中broker的moqutte源碼分析
跟蹤源碼moquette的配置文件地址是config/moquette.conf
因為咱們是直接啟動的Server類里面的main方法,而不是通過assebely打包的jar包,所有這個位置是沒有配置文件的,但是moquette支持通過啟動參數指定配置文件的位置
如何進行mqtt協議中broker的moqutte源碼分析
那就簡單了,把啟動需要的配置文件放到本地的某個地方,再通過啟動參數指定就行了,在idea里面指定
如何進行mqtt協議中broker的moqutte源碼分析
我是放在/data/moquette目錄下
另外idea啟動需要的配置文件再,broker模塊下的config包里面,或者distribution/src/main/resources
加入之后啟動成功
如何進行mqtt協議中broker的moqutte源碼分析

二。配置文件講解
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之后找到如下的測試類
如何進行mqtt協議中broker的moqutte源碼分析

在moquette的io.moquette.server.netty.NettyMQTTHandler類上的打斷點,重新啟動

啟動paha的測試類,開始測試
如何進行mqtt協議中broker的moqutte源碼分析

發現moquette的斷點進來了,說明client到broker的鏈路走通了,后面就可以跟蹤源碼了
如何進行mqtt協議中broker的moqutte源碼分析
之所以在這打斷點是因為這是netty與其他應用的接入點,對netty了解的同學應該知道,應用其實只需要實現一個handler,當有數據流的時候,由netty負責回調你的handler。

看完上述內容,你們掌握如何進行mqtt協議中broker的moqutte源碼分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

钟山县| 宁晋县| 鱼台县| 台安县| 凤台县| 禄劝| 隆子县| 福安市| 普格县| 阳江市| 阿拉善右旗| 祁连县| 鹤峰县| 通许县| 彭州市| 宁武县| 孟州市| 姚安县| 郸城县| 湾仔区| 兰坪| 贺兰县| 绿春县| 开远市| 天峨县| 泰宁县| 北宁市| 黄龙县| 阳东县| 通辽市| 紫金县| 泗洪县| 冕宁县| 兴城市| 容城县| 新邵县| 奎屯市| 安达市| 阿坝县| 建昌县| 霞浦县|