聶永的博客

          記錄工作/學習的點點滴滴。

          MQTT協議筆記之mqtt.io項目TCP協議支持

          前言

          MQTT定義了物聯網傳輸協議,其標準傾向于原始TCP實現。構建于TCP的上層協議堆棧,諸如HTTP等,在空間上多了一些處理路徑,稍微耗費了CPU和內存,雖看似微乎其微,但對很多處理能力不足的嵌入式設備而言,選擇原始的TCP卻是最好的選擇。

          但單純TCP不是所有物件聯網的最佳選擇,提供構建與TCP基礎之上的傳統的HTTP通信支持,尤其是瀏覽器、性能富裕的桌面涉及領域,還是企業最 可信賴、最可控的傳輸方式之一。支持多種多樣的連接通道,讓目前所有一切皆可聯網,除了原始TCP Socket,還要支持構建于其之上的HTTP、HTML5 Websocket,就很有必要。

          mqtt.io,Pub/Sub中間件,也可以稱之為推送服務器,涵蓋所有主流桌面系統、瀏覽器平臺,并且傾斜 于移動互聯網,以及物聯網的廣闊適應天地。使用一句英文概括可能更為合適:"Make everything connect”,讓所有物件都可連接。其業務目標,可用下圖概括:

          mqtt.io致力于做下一代支持所有主流桌面平臺、所有主流瀏覽器、所有可聯網物件都可以聯網的PUB/SUB消息推送系統。

          構建此系統,在于降低傳統企業各自分散的推送系統,統一運營,統一管理,節省人員、運維開支。

          注意事項

          1. mqtt.io是一個項目名稱,沒有官網,http://www.mqtt.io,和這個項目沒有一毛錢關系。
          2. 項目地址:https://github.com/yongboy/mqtt.io
          3. 項目名稱啟發于 http://socket.io http://netty.io 等知名framework。
          4. 目前只實現QoS 0基本特性,實現概覽,后期會根據反饋,做出一些調整

          依賴

          1. netty 4,目前JAVA IO界明星
          2. mqtt-library 二進制和MQTT對象的轉換,這種苦活累活都是它來做,真心讓人喜歡。

          數據流轉

          解碼器

          用于轉換二進制流到JAVA對象的過程:

          編碼器

          對所有要寫入網卡緩沖區的JAVA對象轉換成二進制:

          借助于mqtt-library項目,編解碼不復雜。

          MQTT的消息處理

          更具體的可以查看項目。

          小結

          簡單介紹了一個簡單的不能再簡單的MQTT Server,只具有最基本的QoS 0類型的消息訂閱等。

          后面,對HTML 5 Websocket,會在現有基礎代碼之上,不做多大改動,增加對MQTT Over WebSocket的支持。

          posted on 2014-05-24 23:03 nieyong 閱讀(9278) 評論(2)  編輯  收藏 所屬分類: MQTT

          評論

          # re: MQTT協議筆記之mqtt.io項目TCP協議支持 2014-05-25 08:18 nieyong

          占一個廣告位~
          北京優酷最近在招移動服務器端JAVA攻城師,有需要的同學(也可以推薦一下),可以發郵件到 yongboyATgmail.com

          每日接觸海量用戶請求,機會、舞臺都很不錯,歡迎各位不妨考慮一下:))  回復  更多評論   

          # re: MQTT協議筆記之mqtt.io項目TCP協議支持 2014-05-26 11:44 手機賺錢網-手機賺錢軟件排行,手機賺錢平臺http://www.9izhuanqian.com

          手機賺錢網-手機賺錢軟件排行,手機賺錢平臺http://www.9izhuanqian.com  回復  更多評論   

          公告

          所有文章皆為原創,若轉載請標明出處,謝謝~

          新浪微博,歡迎關注:

          導航

          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西安市| 通道| 宁明县| 博客| 教育| 成武县| 林口县| 岑溪市| 南昌市| 灵寿县| 商水县| 田东县| 庄浪县| 新晃| 汉沽区| 涿州市| 金门县| 上蔡县| 大渡口区| 息烽县| 岳普湖县| 武定县| 西安市| 上高县| 郯城县| 太仆寺旗| 玛曲县| 岳阳市| 柏乡县| 三台县| 柘荣县| 石棉县| 吕梁市| 旺苍县| 拜泉县| 民县| 喜德县| 达日县| 阿巴嘎旗| 肥东县| 汉寿县|