阅读更多

6顶
16踩

移动开发

原创新闻 推送服务浅析

2012-10-26 11:32 by 见习记者 答案在风中 评论(11) 有13375人浏览
纯个人看法,有不妥、不正确的欢迎指出,勿喷。PS:本文意不在讨论孰优孰劣,理解偏颇多多见谅。

移动互联网高速发展的今日,各类型的sns网站、app纷繁复杂,这些其实都离不开一个重要的功能——pushservice。

推送,根本上而言就是内容提供商向用户传递消息的一种服务,只不过形式不一样。当年黑莓很火的时候,邮件推送服务就是其主打的特性,然而由于涉及到移动运营商的利益链推送服务受到了很大的限制。最近几年,随着移动互联网的大行其道,推送服务也得到了更多的发展,移动运营商也不得不接受了这种妥协。

首先谈下pushservice采用的两种实现方案,一种是长连接、一种短轮循。长连接是在用户与内容服务商之间建立一种长时间的连接,服务端一旦有新的消息立刻发送给客户端。短轮循则是用户在每个轮循周期向服务提供上发送一个内容请求,不管有没有消息都立刻返回。(当然存在其他的综合方案)

那么再谈谈当前比较主流的几种移动设备OS是怎么支持推送服务的吧。

当年Symbian红火的时候,qq能后台挂起感觉很NX的样子,其实这已经是一种推送的模型。我们挂起qq,其实建立在我们手机与企鹅间的连接时没有断开的(个人感觉,即时聊天工具应当采用了长连接方式来进行消息推送,一旦服务器收到消息立刻向客户端发送这样才能尽可能的减少时间的延迟)。然而这就带来了一个问题,要支持这种方式就必须后台化的进程,这也是Symbian的一大致命伤。应用在你手机里开启后台进程普通用户是很难发现的,加之Symbian没有成熟的app市场无法对所有app应用进行约束,这就很难避免安全问题。(其实这一点上Android在走Symbian的老路了,这一点底下细谈)。

再谈谈Android。Android的出世救活了大批的移动设备厂商,然而也遭到了很多诟病。早期谷歌为了争夺市场,Android走了开源合作这条路,这也给Google笼络了一批特殊的用户群(设备商)。然而由于过度的开放也埋下了很多安全隐患(Android的拥趸勿喷啊)。

言归正传,谈谈Android的推送,首先说明一点Android和Symbian一样是支持后台进程的(现在安卓上系统管理应用也都具备着方面的管理功能),这也间接导致了Android设备上 存在着套推送服务体系。一种是谷歌内嵌在Android系统中的(这个应该是Android os内的服务,应用开发商通过与发送推送内容给Google,再由Google的推送服务统一向目标设备进行转发。用户与推送服务器间建立了一种长连接,并以此接受推送消息),另一种则是移动开发商开发的推送服务(这个原理类似于Symbian平台,都需要依赖后台进程)。那么既然Google提供了统一的推送服务接入,那各个移动应用开发商还费那么多力去建立自己的推送服务干嘛呢?这就牵扯到了谷歌早期的开放策略了,由于过度的开发,存在着很多的应用市场、也给开发者提供了很多便利。要接入谷歌的推送服务,必须要求应用从Google应用市场中被下载,且用户必须要拥有谷歌账户(这是谷歌的补救措施)。

而事实上很多用户并没有谷歌账号,而且存在如此多的应用市场,且可以下载破解应用又有多少人会去谷歌市场下载应用呢?因此,大多数的移动开发商只能选择第二种方式来自己建立推送服务。如果每个应用的推送服务都需要开启这样一个后台进程,那可想设备的待机时间将必然会受到一定程度的影响。(而不是通过一个统一的后台进程来服务所有应用,另外后台进程的存在和众多的应用市场也会导致不安全性)

再来谈谈iOS以及Windows Phone。iOS和Windows Phone都通过规避后台进程和严格的应用市场管理,迫使用户从正规的渠道下载应用,也迫使了应用开发商接入Apple、MS提供的推送服务,应用开发商向推送服务器发送内容,再由他们通过系统内进程与用户建立连接发送消息内容。
6
16
评论 共 11 条 请登录后发表评论
11 楼 dngoryaner 2013-03-13 14:25
10 楼 onlyonce 2012-10-30 17:39
还以为是具体介绍什么技术,原来什么多没有讲!!
9 楼 zsj01005432 2012-10-29 17:49
楼主的明显牛头不对马嘴,核心内容一点都没有,跟蜻蜓点水似的
8 楼 w3kiccp 2012-10-29 11:42
你析的这是个啥啊?等于什么都没说!
7 楼 yaoper 2012-10-29 09:54
木有干货。
6 楼 ZaneLee007 2012-10-29 09:01
啥都没说嘛
5 楼 freezingsky 2012-10-28 22:40
文章内容与标题感觉不符!
4 楼 sendita 2012-10-27 15:42
楼主这个标题貌似不妥啊,没有介绍推送服务的实现
光比较了几个移动平台的实现方式

不过andriod的开源目前应该已经影响他的市场了
对APP质量缺乏管控,很多乱七八糟的应用出现,导致用户体验非常不好,安全性更是不用提了
这点或许要向苹果学习,对内容进行适当管控了
3 楼 yangsong158 2012-10-27 09:22
楼主有见解,顶一个。
开源是个好东西,过度开源埋下安全隐患,这个我比较赞同。
给用户太多的选择到底好不好?
前些年我们一直诟病微软说他不开源。再看看这些年的mac,他的闭源程度比微软高出多少?开发者要注册,要99$/年,连开发工具也不一定向前兼容……
2 楼 zfms 2012-10-27 00:04
我们用openfire的及时通讯实现了android的实时推送。
1 楼 wuhuajun 2012-10-26 17:52
服务器端使用UDP广播发送消息,客户端按消息内容与服务器进行实时连接。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 浅析HTML5的WebSocket与服务器推送事件

    主要介绍了浅析HTML5的WebSocket与服务器推送事件,WebSocket API最大的特点就是让服务器和客户端能在给定的时间范围内的任意时刻,相互推送信息,需要的朋友可以参考下

  • push推送浅析

    push推送浅析,有关push的知识,有空可以多学习学习的。

  • 服务器端推送技术浅析

    推送技术产生的原因 Ajax应用中存在一个致命的缺陷无法满足传统桌面系统的需求 服务器端需要向客户端主动发送消息 推送技术的应用场景 网页邮箱新邮件提醒 网页聊天 微信签到墙(现场版) 客户端得到通知...

  • Android 推送技术浅析(1)

    Android推送技术浅要分析,对各种技术做了分析比较,提出了推送的应用场景。

  • 浅析即时通讯开发实时信息推送服务器DDPush

    然而,到目前为止,即时通讯(包括其衍生的云推送平台与服务)一直被赋予高难度、高投入的标签,似乎成了强者的专属,普通开发者和中小型IT公司的业务大都依赖现有的第三方产品或服务,先不说可能面临高额的收费,从...

  • 手机游戏消息推送使用浅析

    手机游戏消息推送使用浅析 ——WeCloud 团队  消息推送是游戏开发者与玩家沟通最直接的桥梁,开发者可以通过推送一条消息直观地在手机屏幕上把信息传达给玩家。但是由于开发者一些不恰当推送或者对于推送细节的疏忽...

  • 浅析大数据应用基础上的新闻精准推送.zip

    浅析大数据应用基础上的新闻精准推送.zip

  • 消息推送技术浅析

    ...   * 客户端和服务端进行消息传递有两种方式:1、客户端主动拉取(Pull) 2、服务端主动推送(Push) ...下面介绍如何集成百度云推送服务实现服务端向客户端消息推送:   * 通过集成SDK,并启用后台servic...

  • WebSocket服务端消息推送

    一、Web端实现即时消息推送五种方式 股票曲线实时变化,在线IM聊天等等,Web系统里总是能见到消息推送的应用。消息推送用好了能增强用户体验,实现消息推送有N种解决方案。 1.1、什么是消息推送 消息推送(Push...

  • 浅析即时通讯开发中移动端实时消息推送技术

    因为 IP v4 的 IP 量有限,运营商分配给手机终端的 IP 是运营商内网的 IP,手机要连接 Internet,就需要通过运营商的网关做一个网络地址转换(Network Address Translation,...Android 平台上推送长连接的实现思路。

  • 移动端消息推送原理浅析及问题思考

    实现“推送”可以有多种方式,但是有这样一点是毋庸置疑的:移动端和服务器建立了联系,数据从服务器发往移动端。 而且这种联系应当是移动端主导的,若由提供者主导,唯一能想到的方法就是使用SMS。那么我们可以看...

  • mysql推送_浅析MySQL 索引条件推送(index condition pushdown)

    索引条件推送(ICP)是针对MySLQ使用索引检索数据rows进行的优化,对于InnoDB表,ICP仅用于二级索引。因为实际项目中最常用的就是InnoDB,通常我们建的索引都是二级索引(一级主键索引),所以这里针对这种情况进行说明...

  • 浅析web端的消息推送原理

    我们平时浏览邮箱时突然弹出消息提示收到新邮件就属于web端消息推送,在手机锁屏上看到的微信消息等等都属于APP消息推送。  二、web端的消息推送 这一章节主要对几种消息推送的方式进行原理性的讲解,并贴出简单...

  • 百融榕树浅析web端的消息推送原理

    百融榕树浅析web端的消息推送原理 股票曲线实时变化,在线IM聊天等等,Web系统里总是能见到消息推送的应用。百融榕树消息推送用好了能增强用户体验,实现消息推送有N种解决方案。 1.1、什么是消息推送 消息推送...

  • 浅析HttpClient数据推送

    一、HttpClient简介HttpClient是Apache下的子项目,很著名的另外两个项目Cactus和HTMLunit都使用了HttpClient。二、HttpClient提供的方法1、...三、基本功能1、get方法a、创建HttpClient实例b、创建某种连接方式的实...

  • 基于WebService的手机APP消息推送机制研究与实现浅析.pdf

    基于WebService的手机APP消息推送机制研究与实现浅析.pdf

  • 只需要用一张图片素材文档选择器.zip

    只需要用一张图片素材文档选择器.zip

  • 浙江大学842真题09-24 不含答案 信号与系统和数字电路

    浙江大学842真题09-24 不含答案 信号与系统和数字电路

  • 无标题baci和jbaci

    无标题baci和jbaci

Global site tag (gtag.js) - Google Analytics