emqttd學習總結


一. emqttd介紹

emqttd 是用erlang實現的mqtt協議服務端,主要支持發布訂閱功能。mqtt的優勢有如下幾點:

  • 可靠傳輸。MQTT可以保證消息可靠安全的傳輸,並可以與企業應用簡易集成。
  • 消息推送。支持消息實時通知、豐富的推送內容、靈活的Pub-Sub以及消息存儲和過濾。
  • 低帶寬、低耗能、低成本。占用移動應用程序帶寬小,並且帶寬利用率高,耗電量較少。

二. 編譯安裝

首先到github下clone下源碼:

## 1. 克隆下源碼
git clone https://github.com/emqtt/emqttd.git
## 2. 編譯(由於寫好了Makefile,所以不用使用rebar)
make
## 3. 發布
make dist

發布完成后,會在emqttd/rel目錄下存在一個emqttd的目錄,打包這個目錄就可以很方便的在機器上使
用了。

三. 基本操作

由於使用的是rebar進行編譯發布,所以應用的控制非常方便,基本操作如下:

##啟動emqttd節點
./bin/emqttd start
##重啟emqttd節點
./bin/emqttd restart
##更多操作命令可以使用./bin/emqttd 查看
./bin/emqttd

好了,一個基本的mqtt協議的server端就搭建好了,現在我們需要使用客戶端進行連接,為了方便我們
使用自帶的插件emqttd_dashboard進行基本操作與查看。

##首先進入到代碼所在的emqttd目錄,然后進入到插件所在的目錄.
cd plugins/
##克隆下插件代碼
git clone https://github.com/emqtt/emqttd_dashboard.git
##,退回到上層目錄,進行make
cd ..
make
##加載插件
cd rel/emqttd
./bin/emqttd_ctl plugins load emqttd_dashboard

到此,我們就可以使用http客戶端了,使用瀏覽器打開網址127.0.0.1:18083,提示輸入密碼,初始用
戶名密碼是admin,admin。在websocket一欄可以創建客戶端進行訂閱和發布消息。

看了下插件登錄代碼發現兩個問題:

  1. 后端用的list_to_atom把用戶名轉為atom再進行查找。如果別人用不同的用戶名嘗試的話會創建很多atom。(已提issue)
  2. 密碼貌似明文傳輸,沒細看。

四.相關資料

1.mqtt協議

2.emqttd官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM