關于伺服器端向Android用戶端的推送,主要有三種方式:
1.用戶端定時去服務端取或者保持一個長Socket,從本質講這個不叫推送,這是去服務端拽資料。但是實作簡單,主要缺點:耗電等
2.Google的C2DM,具體不細說,缺點,伺服器在國外,你懂得,不是很穩定。
3.XMPP協定,它是一種基于XML的傳遞協定,具有很強的靈活性和可擴充性。它的特點是将複雜性從用戶端轉移到了伺服器端。
聽說GTalk、QQ、IM等都用這個協定。
接下來說說XMPP在android用戶端上的應用。分兩部分:服務端搭建和用戶端實作。
服務端搭建:
如果想測試一下功能,直接用搭建好的服務就行,下載下傳androidpn-server-0.5.0-bin.zip ,由于附件太大,上傳不上來
下載下傳位址: http://115.com/file/clot4cuz#
點選bin目錄下得run.bat,直接搭好服務,在浏覽器上輸入 http://127.0.0.1:7070 就進入管理界面。如下圖:
如果你想自己更改服務,下載下傳附件
androidpn-server-0.5.0-src.zip (303.73 KB, 下載下傳次數: 12249) ,自行修改。
展示一下管理的發送頁面:
用戶端實作:
下載下傳工程源碼
androidpn-client-0.5.0.zip (347.74 KB, 下載下傳次數: 12217) ,導入工程,運作前更改一處IP位址,修改androidpn.properties檔案中的xmppHost為xmppHost=10.0.2.2
原因:模拟器通路本機需要改成10.0.2.2,下圖為SDK中說明。
運作界面上圖:
從服務端發送消息,用戶端運作的界面:
終于看到推送了。
【自己做個标記】原文位址:http://www.devdiv.com/%E6%90%AD%E5%BB%BAXMPP%E5%8D%8F%E8%AE%AE%EF%BC%8C%E5%AE%9E%E7%8E%B0%E8%87%AA%E4%B8%BB%E6%8E%A8%E9%80%81%E6%B6%88%E6%81%AF%E5%88%B0%E6%89%8B%E6%9C%BA-article-2761-1.html