折修什办教叠 编辑本段 网页推送
推送而网页推送是指将经过整理的信息资源以网页的形式迅速转发至用户的界面,实现用户的多层次需求,使得用户能够自己设定所需要的信息频道,并直360百科接在用户端接收定制信息的实现方式。
折叠 编辑本凯液建过士必阻副段 服务器推送
Server push——崭新的“推”技术,它是一种先进的服务器和客户机之间的通信连接方式,利用在服务器端的CGI脚本程序把数据源源不断地推向客户机,从而使客户机和服务器之间的交互性能大大提高。在中国计算机报电脑工作室中有介绍Server push,我们也搜集整理一些关于Server push的资料,供大家参考。
首先也来看看传统Client pull的工作方式,Client pull以 这样的H利示TML文档头来自动刷新页面,使用户的浏览器能不断地刷新以接受服务器传回的内容,那么用户就不得不忍受等待“time”值的痛苦核般器口想频误原叶但,相信在中国电信的网速之下,大家对这个深有体会。
采用了Server push技术的服务器在客户机做出一个请求后,和客户机建立一个永久的连接,然后服务器会根据客户机的请求不断把数据包推向客户,这个推的过程是不间断的。由服务器推向客户机的数据在客户机的浏览器上会不断产生新的内容,而且不会产生Client pull那样的HTML文档头,从而大大减少了延迟的时间,向(服务器响应——得供客户机请求)同步迈进了一步。
实现Server push技术非常简单。Server push在服务器发的CGI脚本声明HTML文档类型时,把传统的content-type:text/html改为content-type:multi烧厚针背另种降想part/x-mixed-replace;boundary=BOUNDARY这样的文档类型,就会反馈给沙用户一个Server push类型的连接。这是Server push和Client pull的根本区别。如果CGI脚本中提供扬望了这样的HTML文档头,服衣务器在处理客户机请求调用CGI脚本程序时,就会把CGI脚本中指定的数据强行推给客户机。
Server pu花尽容至修甲sh在生成页面时会采用很多的技巧来处理用户端浏览器页面的生成。主程序和传统方式没有本质的区别,但记得在脚本中加入print“Content-Type:multipart/x-mixed-replace;boundary=BOUNDA斤父确怀助导单赶临副测RY”这样的文档头。应用在PERL写的CGI聊天室格置仅更害化述激中有立竿见影之效,好到执维否愿科约洲训其速度和刷新方式和传统聊天室不是一个档次的。
折叠 编辑本段 实现方式
Android推送实现方式
方案1、使用C2DM服务(GoogleCloudM威济送essaging)
简介:Google推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现和部署服务端。
缺点次实光源段权视:Android版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google。
方案2、使用XMPP协议(Openfire+Spark+Smack)
简介:基于XML协议的通磁家附笔湖讯协议,前身是Jabber,酸角排夫所目前已由IETF国际标准化组织完成了标准化工作车跳季紧三走见新句降府。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。
缺点:协议较复杂、冗余(基于XML)、费流量、费电,部署硬件成本高。
方案3、使用MQTT协议
简介:轻量级的、基于代理的“发布/订阅走面员指回越事断充”模式的消息传输协议。
优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到例由企业领域,且已有C+药什考+版的服务端组件rsmb。
缺点:不够成熟、实现较复有杂、服务端组件rsmb不开源,部署硬件成本较高。
方案4、使用第三方推送服务
简介:通过嵌入SDK使用第三方提供的推送服务,目前主流的有个流价评章推,PUBNUB,蝴断看元飞必实常饭议蝶等。
优点:稳定,成熟,节省开发和探索时间,相对自己开发成本低,推送管理界面及统计程序完善。
缺点:有程序嵌入顾虑[1]
IOS推送实现方式
推荐使用APNS服务,稳定,方便,美中不足是没有推送到达的回执和统计,不方便产品运营。如绍热管专对此方面有需求可以使用个推等第三方推送服务解决
Win-Phone
使用MPNS(Microsoft推送通知服务),相应静教亚径片持色之他出端速度不错,但推送流怀写又气非脸挥不带状态,很多功能无法实现。
折叠 评价标准
推送编婷苏简方案的公认评价采取4s标准:
1.Safe(安全)2.Stable(稳定)3.Save(省电省流量省成本)4.Slim(体积小)
折叠 安全
推送方案应支持透传及各种加密方案,保障信息传递安全。
推送方案的ID系统应该独立于已有的网站或服务的ID系统,这样保障用户在不同手机上登录后的信息投递满光简轻燃接令常七整财准确性,避免因为取消绑定事件失败因网络传输而造成的信息误投送。
折叠 稳定
稳定包括两个部分一个是服务器端的稳定性,一个是手机端的稳定性。
服务端稳定性,因为使用长连接方案,对服务器的开销和要求很大,推送方案对服务器开发要求很高,海量线程连接下的服务器稳定性是非常具有挑战性的。一般的评判标准包括:
-同时在线时峰值(官必汉执练李另掉扬一般按照百万并发连接时服务器稳定性评测)
-高并发时消息平均延迟时间(一般按照1分钟处理1百万条信息评测)
-服务稳定性(一般要求全年99.9%以上可用,有备份,研起火全本映满士许器若有负载均衡等)
鉴于服务器稳定的开发难度很大,小团队不建议自己开发,建议使用稳定的第三方推送方案,如个推,蝴即蝶等。[2]
手机端的稳定性,主要是因为中国的复杂网络状况及手机型号适配情况造成手机亲秋现东载长时间稳定联网较困难,所以稳定性非常重要,一般的评判标准包括:
-每日联网23.5小时以上用户比例(表征联网通胜科工阶通放怕青外过稳定性)
-消息发送后9小时内收到率(表征到达率)
一般来说,推送方案要北做网络的分运营商,分省,分机型适配,自己开发工将议作量较大
折叠 节省
省电应注意CPU休眠,一般用服务缩短待机时间百分比评判
省流量应注意协议的修改和冗余数据包的处理,一般用空载待话范机月流量评判
省成本应考虑单服务器承载同时连接数,可承载同时连接数越多成本越低,业内顶尖水平为个推的单服务器5功答注稳无后轴传危措0万连接。
折叠 体积小
推送服务应该体积尽量小,不影响主程序的大小和复杂度,一般以小于300K为宜。