MQTT

參考

1. 爲何使用MQTT協議

  • 協議包含語法、語義、語序。
  • 基本上互聯網上的各類應用協議都是基於TCP/IP協議,但根據不一樣的應用業務/場景需求,產生了衆多應用層協議。
    • XMPP協議的目的是雙向實時的通訊,所以要定義心跳包、房間等衆多概念及相應的交互過程
    • HTTP協議的目的是網頁瀏覽和交互,一般是1對一、單向、同步、網絡相對穩定,業務複雜所以頭部複雜(Method、緩存、認證什麼亂七八糟的)
  • 對於物聯網領域來講,一般網絡不穩定、流量少、有廣播消息的場景,這些都是常見的HTTP協議不具有的特性,所以:
    • MQTT協議的目的是支持廣播、心跳包、輕量級、異步、支持雙向等。

2. 服務端-mosquitto

3. 服務端-Apache Apollo

  • 官網
  • 也是一個message broker,支持包含MQTT在內的衆多協議,有web頁面
  • 安裝MQTT服務器(Windows),並鏈接測試
  • 使用
    • 下載解壓
    • 根目錄cmd執行命令apollo.cmd create xxx,建立目錄(xxx爲Virtual Host名稱,算是最大的一個管理單位
    • 進入xxx/bin目錄,執行命令apollo-brokder.cmd run,啓動服務,便可瀏覽器訪問https://127.0.0.1:61681/或http://127.0.0.1:61680/,默認帳號密碼就是admin和password
    • 可在apollo.xml配置文件中修改端口(注意讓別人訪問須要新建打開防火牆規則)、帳號、密碼,也能夠在管理界面直接改

4. 客戶端-MQTT.fx

5. 客戶端-通訊貓調試軟件

6. 功能

  • 客戶端能夠publish消息到某個topic也能夠subscribe某個topic,也能夠建立topic(向一個不存在topic發送一次消息,不知道是否是後臺幫忙作的建立動做?)
  • 服務端/broker能夠建立topic、queue,能夠查看消息量,能夠查看有哪些消費者
  • 每一個消息均可以選擇不一樣的QoS
相關文章
相關標籤/搜索