zoukankan      html  css  js  c++  java
  • android基于XMPP的消息推送机制

    关于服务器端向Android客户端的推送,主要有三种方式:
    1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等
    2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。
    3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
    听说GTalk、QQ、IM等都用这个协议。

    接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。

    服务端搭建:
    如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip ,由于附件太大,上传不上来
    下载地址: http://sourceforge.net/projects/androidpn/files/?source=navbar
    点击bin目录下得run.bat,直接搭好服务,在浏览器上输入 http://127.0.0.1:7070  就进入管理界面。如下图:
    如果你想自己更改服务,下载附件 <ignore_js_op> androidpn-server-0.5.0-src.zip (303.73 KB, 下载次数: 2431) ,自行修改。

    展示一下管理的发送页面:
    客户端实现:
    下载工程源码 <ignore_js_op> androidpn-client-0.5.0.zip (347.74 KB, 下载次数: 2701) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2
    原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。

    运行界面如下:
    IP修改:
    从服务端发送消息后客户端接受的NOTIFICATION:
    点击NOTIFICATION后跳转到的Activity,具体哪个Activity需你自己去找了,多研究
     
     
    该文章转载自http://www.apkbus.com/android-18168-1-1.html
     
  • 相关阅读:
    [saiku] 系统登录成功后查询Cubes
    216. Combination Sum III
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    211. Add and Search Word
    210. Course Schedule II
    分硬币问题
    开始学习Python
  • 原文地址:https://www.cnblogs.com/wubingshenyin/p/3249482.html
Copyright © 2011-2022 走看看