如何進行mqtt協(xié)議中broker的moqutte源碼分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
mqtt協(xié)議的broker有很多,但是java的支持集群的并不多,之前調研過一番,發(fā)現(xiàn)moqutte基本滿足需求,就想著基于這個在自己做二次開發(fā)。
github地址:https://github.com/andsel/moquette
一。將代碼倒入idea
找到啟動類
啟動報錯,是因為找不到moquette的配置文件
跟蹤源碼moquette的配置文件地址是config/moquette.conf
因為咱們是直接啟動的Server類里面的main方法,而不是通過assebely打包的jar包,所有這個位置是沒有配置文件的,但是moquette支持通過啟動參數(shù)指定配置文件的位置
那就簡單了,把啟動需要的配置文件放到本地的某個地方,再通過啟動參數(shù)指定就行了,在idea里面指定
我是放在/data/moquette目錄下
另外idea啟動需要的配置文件再,broker模塊下的config包里面,或者distribution/src/main/resources
加入之后啟動成功
二。配置文件講解
moqutte的配置文件有五個,下面分別講解一個有什么作用
1.moquette.conf 主配置文件,moquette啟動需要的主要配置都在這里,包括端口號,認證鑒權,存儲等,后面講解源碼的時候會詳細講解各個參數(shù)的意義
2.hazelcast.xml moquette的集群是通過.hazelcast來實現(xiàn)的,不了解的同學可以自行google一下,這里就不詳細講了
3.password_file.conf 這里配置的是連接是需要的密碼
4.acl.conf 這里是各個client對topic的讀寫權限
5.log4j.properties 日志文件,不多說了
三??蛻舳诉x擇,本人選擇的是eclipse的paha,github地址https://github.com/eclipse/paho.mqtt.java
倒入idea之后找到如下的測試類
在moquette的io.moquette.server.netty.NettyMQTTHandler類上的打斷點,重新啟動
啟動paha的測試類,開始測試
發(fā)現(xiàn)moquette的斷點進來了,說明client到broker的鏈路走通了,后面就可以跟蹤源碼了
之所以在這打斷點是因為這是netty與其他應用的接入點,對netty了解的同學應該知道,應用其實只需要實現(xiàn)一個handler,當有數(shù)據(jù)流的時候,由netty負責回調你的handler。
看完上述內容,你們掌握如何進行mqtt協(xié)議中broker的moqutte源碼分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)網站制作公司行業(yè)資訊頻道,感謝各位的閱讀!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。
本文標題:如何進行mqtt協(xié)議中broker的moqutte源碼分析-創(chuàng)新互聯(lián)
URL鏈接:http://sd-ha.com/article16/deipdg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿建站、靜態(tài)網站、網站排名、面包屑導航、響應式網站、品牌網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)