网页推送,是指将经过整理的信息资源以网页的形式迅速转发至用户的界面,实现用户探条较岩孙我的多层次需求,使得用户能够自己设定所需要的信息频道,并直接在用户端接收定制信息的实现方式。
而网页推送是指将经过整理的信息资源以网页的形式迅速转发至来自用户的界面,实现用户的多层次需求,使得用户能够自己设定所需要的信息频道,并直接在用户端接收定制信息的实现方式。
推送Server push——崭新的“推”技术,它是一种先进的服务器和客户机之间的通信连接方式,利用在服务器端的CGI脚本程序把数据源源不断地推向客户机,从而使客户机和服务器之间的交互性能大大提高。在中国计算机甚程述容盐负张杀阻报电脑工作室中有介绍Serve务论r push,我们也搜集整理一些关于Server push的资料,供大家参考。
群国 首先也来看看传统Client pull的工作方式,Client pull以 这样的HTML文档头土周环养来自动刷新页面,使用户的浏览器能不断地刷新以接受服务器传回的内容,那么用户就不得不忍受等待“time”值的痛苦,相信在中国电信的网速之下,大家对这个深有体会。
采用了Server push技术的服务器在客户机做出一个请求后,和客户机建立一个永久的连接,然后服务器会根据客户机的请求不断把数据包推向客户,这个推控后根究完有包注的过程是不间断的。由服务器推向客户机的数据在客户机的浏览器上会不断产生新的内容,而且不会产生Client pul践以衣硫本通丝钱盾l那样的HTML文档头,从而大大减少了延迟的时间,向(服务器响应——客户机请求)同步迈进了一步。
实现Server push技术非常简单。Server push在服务器的CGI脚本声明HTML文档类型时,把传统的cont每有运完步故样案义轻条ent-type:text/html改为content-type:multipart/x-mixed-rep务lace;boundary=BOUNDARY这样的文档类型,就会反馈给用户一个Server push类型的连接。这是Server 矛晶乎战皮城己端块push和Client pull的根本区别。如果CGI脚本中提供了这样的HTML文档头,服务器在处理客户机请求调用CGI脚本程序时须,就会把CGI脚本中指定的数据强行推给客户机。
Server push在生成页面时会采用很多的仍北超预我新体止马仍印技巧来处理用户端浏览器页面的生成。主程序和传统方式没有本质的区别,但记得在脚本中加入print“Content-Type:multipart/x-mixed-高replace;boundary=BOUNDARY”这样的文档头。应用在PERL文写的CGI聊天室中有立竿见影之效,其速度和刷新方式和传统聊天室不是一个档次的。
Android推送实现方式
方案1、使用C2DM服务(GoogleCloudMessaging)
360百科 简介:Google推出的云消息服务,即第二代的G2DM。
优点:Google提供的服务、原生、简单,无需实现增弦挥析房运乡跟就蛋和部署服务端。
缺点:A对ndroid版本限制(必须大于2.2版本),该服务在国内不够稳定、需要用户绑定Google帐号,受限于Google南抓广。
方案2、使用XMPP协议(Openfire+Spark+Smack)
简介:基于XML协议的通讯协议,前身是Jabber,目前已由IETF国际标准化组织完成了标准化工作。
优点:协议成熟、强大、可扩展性强、目前主要应用于许多聊天系统中,且已有开源的Java版的开发实例androidpn。
缺点:协构川来非陈音核力占科议较复杂、冗余(基于XML)、费流量、费庆派久成口值电,部署硬件成本高。
方案3、使用MQTT协议
简介:轻量级的自章英优抓低处品武、基于代理的“发布/订阅”模式的消息传输协议。
李企家本图细此殖山优点:协议简洁、小巧、可扩展性强、省流量、省电,目前已经应用到企业领域,且已有C++版的服务端组件r圆互情轻速述各著smb。
缺点:不够成熟、实现较复杂、服务端组件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休眠,一般用服务缩短待机时间百分比评判
省流量应注意协议的修改和冗余数据包的处理,一般用空载待机月流量评判
省成本应考虑单服务器承载同时连接数,可承载同时连接数越多成本越低,业内顶尖水平为个推的单服务器50万连接。
推送服务应该体积尽量小,不影响主程序的大小和复杂度,一般以小于300K为宜。