官术网_书友最值得收藏!

2.1 MQTT協議

MQTT(Message Queue Telemetry Transport,消息隊列遙測傳輸)協議是IBM的Andy Stanford-Clark和Arcom的Arlen Nipper于1999年為了一個通過衛(wèi)星網絡連接輸油管道的項目開發(fā)的。為了滿足低電量消耗和低網絡帶寬的需求,MQTT協議在設計之初就包含了以下幾個特點:

● 實現簡單。

● 提供數據傳輸的QoS(Quality of Service,服務質量)。

● 輕量、占用帶寬低。

● 可傳輸任意類型的數據。

● 可保持的會話(Session)。

此后,IBM一直將MQTT協議作為一個內部協議用于其產品中。直到2010年,IBM公開發(fā)布了MQTT 3.1版本。2014年,MQTT協議正式成為OASIS(結構化信息標準促進組織)的標準協議。隨著多年的發(fā)展,MQTT協議的應用重點不再只是嵌入式系統,而是更廣泛的物聯網世界。

簡單來說,MQTT協議有以下特性:

● 基于TCP的應用層協議。

● 采用C/S架構。

● 使用訂閱/發(fā)布模式,將消息的發(fā)送方和接收方解耦。

● 提供3種消息的QoS:至多一次、最少一次、只有一次。

● 收發(fā)消息都是異步的,發(fā)送方不需要等待接收方應答。

MQTT協議的架構由Broker和連接到Broker的多個Client組成,如圖2-1所示。

圖2-1 MQTT協議的架構

MQTT協議可以為大量低功率、工作網絡環(huán)境不可靠的物聯網設備提供通信保障。而它在移動互聯網領域也大有作為,很多Android App的推送功能都是基于MQTT協議實現的,一些IM也是基于MQTT協議實現的。

MQTT協議可以說是目前應用最廣的協議。下面的章節(jié)將對MQTT協議及其特性進行詳細的講解。

主站蜘蛛池模板: 萨迦县| 广平县| 林西县| 武威市| 清河县| 北宁市| 金山区| 建平县| 军事| 建昌县| 朔州市| 清徐县| 稷山县| 收藏| 行唐县| 正安县| 诸城市| 项城市| 金门县| 儋州市| 贞丰县| 鄢陵县| 枣庄市| 宜丰县| 景宁| 恩平市| 科技| 富锦市| 麻栗坡县| 亳州市| 华池县| 宁陵县| 祁连县| 通辽市| 芒康县| 胶州市| 灵台县| 桃园县| 宝丰县| 锡林郭勒盟| 五家渠市|