• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ActiveMQ的安卓端消息推送研究與實現(xiàn)

      2016-06-20 08:07:20蒲海洋姜劉鴻何文孝
      2016年18期
      關(guān)鍵詞:引言

      蒲海洋++姜劉鴻++何文孝

      摘要:伴隨著互聯(lián)網(wǎng)的飛速發(fā)展,特別是在近幾年中,移動互聯(lián)網(wǎng)的發(fā)展更為迅猛。在移動互聯(lián)網(wǎng)中,消息推送是其中很重要的一部分,它是手機客戶端信息發(fā)布和通信的重要方式。MQTT協(xié)議是Android系統(tǒng)中消息推送的實現(xiàn)技術(shù)之一,由于此協(xié)議的簡單與便捷性目前已得到了眾多應(yīng)用。本文介紹了ActiveMQ的這種開源項目的應(yīng)用,通過ActiveMQ這種基于MQTT協(xié)議的開源框架來實現(xiàn)對安卓手機客戶端實時的消息推送技術(shù)。

      關(guān)鍵詞:Android;MQTT;ActiveMQ;消息推送一、引言

      MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是一種由IBM的Andy Stanford-Clark 博士于1999年以核心技術(shù)領(lǐng)導(dǎo)人與Arcom公司的Arlen Nipper博士共同發(fā)明的輕量級消息傳送協(xié)議,主要用于消息的發(fā)布與訂閱.它具有支持多種平臺的特性,能把目前市面上幾乎所有的聯(lián)網(wǎng)設(shè)備共同連接起來。其次,ActiveMQ也是Apache出品的,最具有代表性的,性能優(yōu)越的,速度迅速的開源的消息傳送解決方案之一。同時,從規(guī)范角度來說,JMS1.1和J2EE1.4都能被ActiveMQ所支持,在與J2EE項目整合時,有很大的便捷。

      二、ActiveMQ研究

      (一)ActiveMQ簡介。Apache軟件基金會所研發(fā)的開源消息項目ActiveMQ中間件,由于它由Java語言編寫,故具有支持多平臺運行的特點;只要是安裝了JVM的系統(tǒng),ActiveMQ都在可以該系統(tǒng)上正常運行。由于其擁有支援Java消息服務(wù)、Spring Framework、集群 (Clustering)、支援的編程語言(包括:Ruby、Python、PIKE、Perl、JS、C等)、協(xié)定支援(包括: WS-Notification、STOMP、XMPP、OpenWire、AMQP以及REST等)特點廣受程序員的喜愛。

      (二)ActiveMQ安裝與部署。ActiveMQ由于是apache下的免費開源項目,可以隨時進入ActiveMQ的官網(wǎng)下載。ActiveMQ的官網(wǎng)地址為:https://activemq.apache.org/。用戶進入官網(wǎng)后,可根據(jù)需要,下載對應(yīng)的版本。三、APP消息推送解決方案

      (一)常見的消息推送解決方案實現(xiàn)原理

      在安卓系統(tǒng)上,目前常見的消息推送大致有以下3種:

      1、定時檢測方式:安卓手機端按照程序預(yù)先設(shè)定好的時間、定時往中間服務(wù)器發(fā)送消息檢測指令,如發(fā)現(xiàn)服務(wù)器有任何變化,就馬上與中間服務(wù)器進行消息數(shù)據(jù)的同步。

      2、 長連接方式:中間服務(wù)器與安卓手機端通過socket建立持久連接,通過長連接的這種方式,時刻進行著與中間服務(wù)端的消息同步,如有任何變化,都能進行消息的及時同步。但這種方式在手機端會很耗費電量,且同時會伴隨著大量的流量耗費。

      3、攔截方式:在安卓手機端通通監(jiān)聽器,監(jiān)聽短信是否到來的Action,如檢測到短信中含有之前預(yù)定好的消息推送指令,則馬上進行消息的推送處理,但此種方式會花費高額的通信費用。

      (二)常見的安卓端消息推送解決方案。消息推送已經(jīng)過了較長時間的發(fā)展,目前也已出現(xiàn)了幾種常用的解決方案的辦法。

      1、基于XMPP協(xié)議的Android端推送。XMPP是基于XML開發(fā)的協(xié)議,主要用于即時通信。通過此協(xié)議可以在因特網(wǎng)上向網(wǎng)絡(luò)上的其他用戶發(fā)送即時消息。其次,Androidpn是一個基于XMPP協(xié)議的一個開源項目實現(xiàn)。此項目包含了完整的安卓客戶端與消息推送服務(wù)端,通過它可以實現(xiàn)消息推送的快速開發(fā),但由于其學(xué)習(xí)成本較高,且開發(fā)周期較長,不宜于將此項目整合到現(xiàn)有項目中。

      2、Google的C2DM云端推送方案。在Google開發(fā)的安卓手機平臺中,Google開發(fā)公司為了解決在安卓手機上的消息推送也專門提供了Cloudto Device Messaging服務(wù),即C2DM。通過使用C2DM可以幫助開發(fā)人員通過向服務(wù)器向安卓手機端中的應(yīng)用程序發(fā)送數(shù)據(jù)。C2DM具有簡單、便捷、輕量的特點,允許安卓手機端的應(yīng)用程序可以被服務(wù)端所及時通知到,進而通過它進行與服務(wù)端的通信。但由于中國的網(wǎng)絡(luò)環(huán)境的限制,在國內(nèi)目前不能訪問Google的C2DM服務(wù)器,故C2DM這種服務(wù)在國內(nèi)暫不可用。

      3、采用MQTT協(xié)議的安卓端推送。MQTT協(xié)議由于具有極為輕量的特點,通過中間件常用于消息的訂閱與發(fā)布,由于其輕量級且消息推送文本一般字節(jié)量很小的特點,在安卓手機端可以減少電量與流量的消耗,故它是實現(xiàn)安卓手機端消息推送功能的較為理想的方式之一。

      4、使用第三方平臺。目前國內(nèi)、國外有一些推送平臺可供使用,如目前常見的國內(nèi)消息推送平臺有極光推送(JPush)、個推等,但是涉及到收費問題、保密問題、服務(wù)質(zhì)量問題、擴展問題等等。

      四、采用ActiveMQ的Android客戶端設(shè)計

      (一)Paho介紹。Paho是一個開放源碼項目在Eclipse技術(shù)項目。此項目為解決在飛速發(fā)展的嵌入式M2M平臺和無線連接推動增長(M2M)技術(shù)和許多行業(yè)服務(wù)中的通訊問題,旨在提供可伸縮的開放和標準的 Machine-to-Machine (M2M) 以及物聯(lián)網(wǎng)消息協(xié)議的開源實現(xiàn)

      (二)Android端設(shè)計。在安卓工程中,將paho-mqtt-client的jar包導(dǎo)入到項目工程中,并給項目加上訪問網(wǎng)絡(luò)的權(quán)限。即:

      其次,加入主要的用于接受消息推送事件的MQTTService,以此來讓APP獲取與處理消息推送的事件。

      (三)消息推送使用與測試。將ActiveMQ服務(wù)端與Android客戶端部署完畢后,首先在手機上啟動消息推送服務(wù)。

      再在瀏覽器中運行ActiveMQ的服務(wù)端,以服務(wù)端在本機為例,則打開http://localhost:8161/admin/,用戶名和密碼默認為admin。

      點擊Topics欄目,并找到對應(yīng)的消息Name,進入之后在Message body下輸入想要推送的消息內(nèi)容。點擊send后,就會在APP中接收到消息。

      五、結(jié)束語

      MQTT 協(xié)議作為目前常用的協(xié)議,在即時通信方面有較好使用價值。且ActiveMQ和Paho有如此良好開源項目的支持,很便于二次開發(fā)的整合。本文是在此框架之上對其進行了研究與應(yīng)用,達到了應(yīng)用到實際項目中的目的。

      項目名稱:基于ActiveMQ的安卓端消息推送研究與實現(xiàn)

      項目編號:15NSD-134

      參考文獻:

      [1]殷昊.基于Android 平臺的消息推送能力的研究與實現(xiàn)[D].北京:北京郵電大學(xué),2013.

      [2]IBM,Eurotech.MQTT V3.1 Protocol Specification.http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html,2010-08-24.

      猜你喜歡
      引言
      藥用植物野外實踐體系構(gòu)建研究
      校企合作背景下高職院校學(xué)生管理制度的探索
      考試周刊(2016年50期)2016-07-12 23:23:23
      解讀《歐也妮·葛朗臺》中金錢禁錮下的人生
      考試周刊(2016年50期)2016-07-12 13:22:42
      基于思維導(dǎo)圖的線性代數(shù)復(fù)習(xí)策略
      考試周刊(2016年42期)2016-06-18 19:48:45
      提高小學(xué)低段課堂寫字有效性的研究
      考試周刊(2016年42期)2016-06-18 19:44:40
      我國農(nóng)村電子商務(wù)物流問題探析
      石柱| 长宁县| 德保县| 呼和浩特市| 中山市| 高阳县| 巴青县| 乐至县| 甘肃省| 常宁市| 丹寨县| 墨竹工卡县| 新竹市| 马公市| 博客| 亚东县| 江川县| 井研县| 武陟县| 宁陵县| 五大连池市| 镇沅| 玛沁县| 宜宾市| 衡山县| 革吉县| 晋城| 弥渡县| 广饶县| 民丰县| 新丰县| 河曲县| 三亚市| 石家庄市| 鹿泉市| 三门峡市| 尚义县| 封丘县| 德令哈市| 开原市| 阿拉尔市|