AndroidPN系列之一--Android Push Notification实现信息推送使用

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

在Android中实现信息推送,其中一个比较成熟的解决方案即是使用XMPP协议实现。而AndroidPn项目就是使用XMPP协议实现信息推送的一个开源项目。在这里给你们介绍其使用过程。
  Apndroid Push Notification的特色:
  快速集成:提供一种比C2DM更加快捷的使用方式,避免各类限制.
  无需架设服务器:经过使用"云服务",减小额外服务器负担.
  能够同时推送消息到网站页面,android 手机
  耗电少,占用流量少.
  具体配置过程:
  首先, 咱们须要下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。
  下载地址:http://sourceforge.net/projects/androidpn/
  解压两个包,Eclipse导入client,配置好目标平台,打开raw/androidpn.properties文件,配置客户端程序。
  1. 如 果是模拟器来运行客户端程序,把xmppHost配置成10.0.2.2[模拟器把10.0.2.2认为是所在主机的地址,127.0.0.1是模拟器本 身的回环地址,10.0.2.1表示网关地址,10.0.2.3表示DNS地址,10.0.2.15表示目标设备的网络地址],关于模拟器的详细信息,大 家可参阅相关资料,这里再也不详述.
  xmppPort=5222 是服务器的xmpp服务监听端口
  运 行androidpn-server-0.5.0inun.bat启动服务器,从浏览器访问http://127.0.0.1:7070 /index.do (androidPN Server有个轻量级的web服务器,在7070端口监听请求,接受用户输入的文本消息)
  运行客户端,客户端会向服务器发起链接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长链接。
  2. 若是是在同一个局域网内的其余机器的模拟器测试(或者使用同一无线路由器wifi上网的真机) ,则须要把这个值设置为服务器机器的局域网ip.
  例 如 你的电脑和android手机 都经过同一个无线路由器wifi上网, 电脑的ip地址为 192.168.1.2 而 手机的ip地址为 192.168.1.3, 这个时候 须要把这个值修改成 xmppHost=192.168.1.1 或是电脑的IP地址,就能够在手机上使用了.
  3. 若是是不在同一个局域网的真机测试,咱们须要将这个值设置为服务器的IP地址。
  具体配置以下图所示:

  git

个人电脑IP是:192.168.8.107
  服务器运行主界面:

   推送信息:

  web

测试结果以下图:浏览器



  

模拟器和真机测试经过。
  其余使用过程介绍:
  固然了,以上是在本身的服务器上配置并实现信息推送,若是你们想省事的话,在这里给你们推荐个网址, 能够更轻松地实现推送,缺点是须要经过别人的服务器,关于这点,你懂的。
  网址:http://www.push-notification.org/
  只需申请个API便可使用。服务器

另:网络

    测试可用代码,地址:测试

客户端:http://git.oschina.net/cstslqq/AndroidPNClient网站

服务端 :http://git.oschina.net/cstslqq/AndroidPNServer.net

相关文章
相关标签/搜索