消息推送

消息推送,及时通信:

     目的:想办法让服务器能够及时的通知客户端

   

     实现方案:

                 1-轮询:客户端每隔一定的时间向服务发出请求,获取最新消息

                                 特点:

                                            1.如果用在最新新闻通知上,那么效率就比较低下。

                                            2.技术简单,容易是实现

                                 应用场景:当服务器端的数据以固定的频率更新,比如股票行情。


                 2- 发短信:

                                  特点:效率高,最及时,同时,费用也是最高的。

                                  应用场景:比较土豪的做法


                  3- 使用第三方的开源项目:

                                 AndroidPN(android push notify)


                  4- 使用第三方的API实现推送功能

                                 百度推送、极光推送、个推、微信推送


                  实现方式3和4原理上都属于消息推送。

                                 消息推送的实现原理:Socket长联接+心跳帧

                           

                              XMPP网络上开源的,用于网络聊天的网络协议

                              asmack.jar  是对xmpp协议的实现                         

                 

                   说一说TCP HTTP之间的关系

                   说一说Socket-> HttpUrlConnection-> HttpClient ->HttpUtils  之间的关系






AndroidPN环境

AndroidPN实现了从服务器到android移动平台的文本消息推送。这里先简单说一下androidPN的安装过程。

下载androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip

网址:http://sourceforge.net/projects/androidpn/ 

解压两个包,Eclipse导入client,配置好目标平台,打开raw/androidpn.properties文件,

apiKey=1234567890

xmppHost=10.0.2.2

xmppPort=5222

如果是模拟器来运行客户端程序,把xmppHost配置成10.0.2.2 (模拟器把10.0.2.2认为是所在主机的地址,127.0.0.1是模拟器本身的回环地址).

xmppPort=5222 是服务器的xmpp服务监听端口

运行androidpn-server-0.5.0\bin\run.bat启动服务器,从浏览器访问http://127.0.0.1:7070/index.do (androidPN Server有个轻量级的web服务器,在7070端口监听请求,接受用户输入的文本消息)

运行客户端,客户端会向服务器发起连接请求,注册成功后,服务器能识别客户端,并维护和客户端的IP长连接

 进入Notifications界面,输入消息发送

模拟器客户端接受到server推送的消息

这样AndroidPN的环境就搭好了,下一步我将深入研究研究实行以及XMPP协议







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值