http://blog.csdn.net/zhangzeyuaaa/article/details/39028369

首先我们必须知道,所有的推送功能必须有一个客户端和服务器的长连接,因为推送是由服务器主动向客户端发送消息,如果客户端和服务器之间不存在一个长连接那么服务器是无法来主动连接客户端的。因而推送功能都是基于长连接的基础是上的。

IOS长连接是由系统来维护的,也就是说苹果的IOS系统在系统级别维护了一个客户端和苹果服务器的长链接,IOS上的所有应用上的推送都是先将消息推送到苹果的服务器然后将苹果服务器通过这个系统级别的长链接推送到手机终端上,这样的的几个好处为:1.在手机终端始终只要维护一个长连接即可,而且由于这个长链接是系统级别的不会出现被杀死而无法推送的情况。2.省电,不会出现每个应用都各自维护一个自己的长连接。3.安全,只有在苹果注册的开发者才能够进行推送,等等。

android的长连接是由每个应用各自维护的,但是google也推出了和苹果技术架构相似的推送框架,C2DM,云端推送功能,但是由于google的服务器不在中国境内,其他的原因你懂的。所以导致这个推送无法使用,android的开发者不得不自己去维护一个长链接,于是每个应用如果都24小时在线,那么都得各自维护一个长连接,这种电量和流量的消耗是可想而知的。虽然国内也出现了各种推送平台,但是都无法达到只维护一个长连接这种消耗的级别。

最新文章

  1. [UE4]Animation Techniques used in Paragon部分翻译及索引
  2. DataSnap 的连接事件顺序图
  3. POJ 2771 二分图(最大独立集)
  4. Loggly:提高ElasticSearch性能的九个高级配置技巧
  5. 关于WordPress建站的原理二三事
  6. duplicate symbol _OBJC_METACLASS_$ 报错记录
  7. http://jingyan.baidu.com/article/08b6a591f0fafc14a9092275.html
  8. Java I/O第二篇 之 (缓冲流 随机流 数组流 数据流)
  9. 关于php的认识和介绍
  10. Lucene为不同字段指定不同分词器(转)
  11. 在VM中安装Android4.4连接小米手环 之 在VM中安装Android4.4
  12. 自定义UICollectionViewLayout 实现瀑布流
  13. 学习VC MFC开发必须了解的常用宏和指令
  14. 剑指offer编程题Java实现——面试题12相关题大数的加法、减法、乘法问题的实现
  15. 网卡驱动引起openstack的mtu问题
  16. 记我在github上参与的Star增长最快的十万级项目。。。
  17. JS流程控制
  18. python_项目_ATM和购物商城的程序
  19. 【python】自学笔记
  20. git push时候总提示输入账号密码,如何免除设置?

热门文章

  1. 【前端】CentOS 7 系列教程之一: 安装 node 最新版
  2. python之路,day7-面向对象变成
  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 16. 角色管理
  4. 洛谷 - P1142 - 轰炸 - 计算几何
  5. bzoj3195: [Jxoi2012]奇怪的道路(状压dp)
  6. mui 中在windows中打开新页面
  7. vue的方法和计算属性的区别
  8. Luogu P1754球迷购票问题【dp/卡特兰数】By cellur925
  9. JQuery动态添加表格,然后动态删除不成功问题
  10. RobotFramework自动化测试框架(2)- RobotFramework语法