溫馨提示×

溫馨提示×

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

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

如何進行mqtt協(xié)議中broker的moqutte源碼分析

發(fā)布時間:2021-11-26 09:21:17 來源:億速云 閱讀:225 作者:柒染 欄目:開發(fā)技術(shù)

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

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

二。配置文件講解
moqutte的配置文件有五個,下面分別講解一個有什么作用
1.moquette.conf   主配置文件,moquette啟動需要的主要配置都在這里,包括端口號,認(rèn)證鑒權(quán),存儲等,后面講解源碼的時候會詳細(xì)講解各個參數(shù)的意義
2.hazelcast.xml moquette的集群是通過.hazelcast來實現(xiàn)的,不了解的同學(xué)可以自行g(shù)oogle一下,這里就不詳細(xì)講了
3.password_file.conf 這里配置的是連接是需要的密碼
4.acl.conf  這里是各個client對topic的讀寫權(quán)限
5.log4j.properties 日志文件,不多說了

三??蛻舳诉x擇,本人選擇的是eclipse的paha,github地址https://github.com/eclipse/paho.mqtt.java
倒入idea之后找到如下的測試類
如何進行mqtt協(xié)議中broker的moqutte源碼分析

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

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

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

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI