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
     
  • 相关阅读:
    8.20Java之反射机制的基本概念
    8.18Go语言之字符串
    Debug
    Feign
    Nacos
    SpringCloud Alibaba
    SpringCloud
    Maven
    Maven
    Jenkins
  • 原文地址:https://www.cnblogs.com/wubingshenyin/p/3249482.html
Copyright © 2011-2022 走看看