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

1.jpg (39.38 KB, 下载次数: 535)

下载附件  保存到相册

2011-12-6 21:32 上传

 

服务端搭建: 如果想测试一下功能,直接用搭建好的服务就行,下载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>

2.jpg (62.53 KB, 下载次数: 502)

下载附件  保存到相册

2011-12-6 21:32 上传

 

如果你想自己更改服务,下载附件  <ignore_js_op> androidpn-server-0.5.0-src.zip (303.73 KB, 下载次数: 4904)

2011-12-6 21:43 上传

点击文件名下载附件

 

,自行修改。
展示一下管理的发送页面: <ignore_js_op>

8.jpg (63.78 KB, 下载次数: 452)

下载附件  保存到相册

2011-12-6 21:38 上传

 

客户端实现: 下载工程源码  <ignore_js_op> androidpn-client-0.5.0.zip (347.74 KB, 下载次数: 5945)

2011-12-6 21:39 上传

点击文件名下载附件

 

,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2 原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。 <ignore_js_op>

3.jpg (82.43 KB, 下载次数: 523)

下载附件  保存到相册

2011-12-6 21:33 上传

 

运行界面上图: <ignore_js_op>

4.jpg (16.27 KB, 下载次数: 440)

下载附件  保存到相册

2011-12-6 21:32 上传

 

<ignore_js_op>

5.jpg (40.06 KB, 下载次数: 449)

下载附件  保存到相册

2011-12-6 21:32 上传

 

从服务端发送消息,客户端运行的界面: <ignore_js_op>

6.jpg (39.64 KB, 下载次数: 446)

下载附件  保存到相册

2011-12-6 21:32 上传

 

<ignore_js_op>

7.jpg (34.03 KB, 下载次数: 456)

下载附件  保存到相册

2011-12-6 21:32 上传

 

终于看到推送了。

http://www.apkbus.com/android-18168-1-1.html

搭建XMPP协议,实现自主推送消息到手机的更多相关文章

  1. Android应用实现Push推送消息原理

            本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我 们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅 ...

  2. Android消息推送(二)--基于MQTT协议实现的推送功能

    国内的Android设备,不能稳定的使用Google GCM(Google Cloud Messageing)消息推送服务. 1. 国内的Android设备,基本上从操作系统底层开始就去掉了Googl ...

  3. HTML5服务器推送消息的各种解决办法

    摘要 在各种BS架构的应用程序中,往往都希望服务端能够主动地向客户端推送各种消息,以达到类似于邮件.消息.待办事项等通知. 往BS架构本身存在的问题就是,服务器一直采用的是一问一答的机制.这就意味着如 ...

  4. Qt通过极光推送向app推送消息

    简介 最近在做个项目,当客服端收到防盗的消息通知时向手机app推送一个消息,告知有防盗报警.这么小的功能没必要自己写个推送端,极光推送免费而且推送的成功率高,已经能满足我们的需求了. 极光推送的文档大 ...

  5. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  6. HTML5服务器推送消息的各种解决办法,html5服务器

    HTML5服务器推送消息的各种解决办法,html5服务器 摘要 在各种BS架构的应用程序中,往往都希望服务端能够主动地向客户端推送各种消息,以达到类似于邮件.消息.待办事项等通知. 往BS架构本身存在 ...

  7. 结合实际需求,在webapi内利用WebSocket建立单向的消息推送平台,让A页面和服务端建立WebSocket连接,让其他页面可以及时给A页面推送消息

    1.需求示意图 2.需求描述 原本是为了给做unity3d客户端开发的同事提供不定时的消息推送,比如商城购买道具后服务端将道具信息推送给客户端. 本篇文章简化理解,用“相关部门开展活动,向全市人民征集 ...

  8. Spring Boot 集成 WebSocket 实现服务端推送消息到客户端

    假设有这样一个场景:服务端的资源经常在更新,客户端需要尽量及时地了解到这些更新发生后展示给用户,如果是 HTTP 1.1,通常会开启 ajax 请求询问服务端是否有更新,通过定时器反复轮询服务端响应的 ...

  9. [wxpusher]分享一个服务器推送消息到微信上的小工具,可以用于微信推送提醒和告警。

    背景 作为一个程序员,业余搞点自己的东西很正常,一般程序员都会有一两台自己的服务器,谁叫今天xx云搞活动,明天yy云搞活动呢. 自家的服务器用来跑爬虫,跑博客,或者跑一些个人业务,但当服务有新状态,抢 ...

随机推荐

  1. 让ie6也支持max-width,和max-height实现图片等比例缩放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots

    读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots   以下为异常详细信息: Exception in thread &q ...

  3. Android 音乐播放器之--错误状态下调用导致的异常

    MediaPlayer必须在合适的状态下调用合适的方法,否则会出现异常,下面列出常见错误信息和说明: 1.E/MediaPlayer(11310): stop called in state 1 调用 ...

  4. CentOS Mysql自动备份 .txt

    http://fly.b3log.org/articles/2011/10/25/1319505473928.html MySql数据库备份: 说明:我这里要把MySql数据库存放目录/var/lib ...

  5. 15个必须知道的chrome开发者技巧

    在Web开发者中,Google Chrome是使用最广泛的浏览器.六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具.你可能已经熟悉了它的部分功能,如使用console和 ...

  6. c# 浏览器区别

    c#   浏览器区别 思路:浏览器本身独有的属性来区别: 1.window对象的属性来区别: window.attachEvent               IEwindow.addEventLis ...

  7. flex 4 Filters

    <s:RectangularDropShadow id="dropShadow" blurX="10" blurY="10" alph ...

  8. django模型中的抽象类(abstract)

    首先介绍下django的模型有哪些属性:先看例子: Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract 这个属性是定义当前的模 ...

  9. YTU 2610: A改错题--体检情况分析

    2610: A改错题--体检情况分析 时间限制: 1 Sec  内存限制: 128 MB 提交: 233  解决: 161 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. ...

  10. Linux 下安装python软件包(pip、nose、virtualenv、distribute )

    新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...