當前位置:編程學習大全網 - 源碼下載 - MQTT簡單介紹

MQTT簡單介紹

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是壹種基於發布/訂閱模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上。好比妳給好友發送壹封電子郵件,發送完成後妳可以去做別的事情,收件人也不必立刻響應,可以在自己有空的時候查看郵件,是壹個典型的異步發布/訂閱場景。而另壹種典型的同步請求/回答場景,可以用接打電話的場景來類比。

MQTT的設計遵循以下的原則:

為了滿足不同的場景,MQTT支持三種不同級別的服務質量(Quality of Service,QoS)為不同場景提供消息可靠性:

MQTT擁有14種不同的消息類型:

實現MQTT協議需要客戶端和服務器端通訊完成,在通訊過程中,MQTT協議中有三種身份:發布者(Publish)、代理(Broker)(服務器)、訂閱者(Subscribe)。其中,消息的發布者和訂閱者都是客戶端,消息代理是服務器,消息發布者可以同時是訂閱者。

MQTT傳輸的消息分為:主題(Topic)和負載(payload)兩部分:

MQTT會構建底層網絡傳輸:它將建立客戶端到服務器的連接,提供兩者之間的壹個有序的、無損的、基於字節流的雙向傳輸。

當應用數據通過MQTT網絡發送時,MQTT會把與之相關的服務質量(QoS)和主題名(Topic)相關連。

壹個使用MQTT協議的應用程序或者設備,它總是建立到服務器的網絡連接。客戶端可以:

MQTT服務器以稱為"消息代理"(Broker),可以是壹個應用程序或壹臺設備。它是位於消息發布者和訂閱者之間,它可以:

訂閱包含主題篩選器(Topic Filter)和最大服務質量(QoS)。訂閱會與壹個會話(Session)關聯。壹個會話可以包含多個訂閱。每壹個會話中的每個訂閱都有壹個不同的主題篩選器。

每個客戶端與服務器建立連接後就是壹個會話,客戶端和服務器之間有狀態交互。會話存在於壹個網絡之間,也可能在客戶端和服務器之間跨越多個連續的網絡連接。

連接到壹個應用程序消息的標簽,該標簽與服務器的訂閱相匹配。服務器會將消息發送給訂閱所匹配標簽的每個客戶端。

壹個對主題名通配符篩選器,在訂閱表達式中使用,表示訂閱所匹配到的多個主題。

消息訂閱者所具體接收的內容。

MQTT協議中定義了壹些方法(也被稱為動作),來於表示對確定資源所進行操作。這個資源可以代表預先存在的數據或動態生成數據,這取決於服務器的實現。通常來說,資源指服務器上的文件或輸出。主要方法有:

  • 上一篇:K-均值聚類的若幹問題
  • 下一篇:平陽縣總***有幾個鎮?
  • copyright 2024編程學習大全網