聶永的博客

          記錄工作/學(xué)習(xí)的點點滴滴。

          MQTT協(xié)議筆記之mqtt.io項目TCP協(xié)議支持

          前言

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

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

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

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

          構(gòu)建此系統(tǒng),在于降低傳統(tǒng)企業(yè)各自分散的推送系統(tǒng),統(tǒng)一運營,統(tǒng)一管理,節(jié)省人員、運維開支。

          注意事項

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

          依賴

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

          數(shù)據(jù)流轉(zhuǎn)

          解碼器

          用于轉(zhuǎn)換二進制流到JAVA對象的過程:

          編碼器

          對所有要寫入網(wǎng)卡緩沖區(qū)的JAVA對象轉(zhuǎn)換成二進制:

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

          MQTT的消息處理

          更具體的可以查看項目。

          小結(jié)

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

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

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

          評論

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

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

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

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

          手機賺錢網(wǎng)-手機賺錢軟件排行,手機賺錢平臺http://www.9izhuanqian.com  回復(fù)  更多評論   

          公告

          所有文章皆為原創(chuàng),若轉(zhuǎn)載請標明出處,謝謝~

          新浪微博,歡迎關(guān)注:

          導(dǎo)航

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

          統(tǒng)計

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 古田县| 简阳市| 孟津县| 宁都县| 汶川县| 铜梁县| 铅山县| 平湖市| 松桃| 凤城市| 克什克腾旗| 青冈县| 宁强县| 饶阳县| 敦煌市| 微博| 济阳县| 湘潭市| 年辖:市辖区| 卢湾区| 沙洋县| 米易县| 西和县| 富源县| 西昌市| 合江县| 潮州市| 余干县| 南昌市| 北宁市| 黄大仙区| 白朗县| 昭通市| 阿拉善右旗| 五峰| 开远市| 南康市| 安顺市| 嘉善县| 潼南县| 乌拉特后旗|