苹果的推送确实很好用,但是有些人就把“推送”弄得神乎其神,好像是苹果独一无二的高深技术一样。 参考一下其他人对苹果推送功能能的技术性解释,我就打比方似的解释一下吧,希望专业人士不要吐槽。 世界上没有真正的“推送”这一功能,其实都是一直在线,定时向服务器(每隔几秒或者更短的时间)询问是否有我的消息,其实都是“被推送”,都是“求”来的。无论是手机短信,还是QQ,飞信都是的。 但是苹果的推送的高明之处在于,乔布斯说:“你们QQ,MSN,飞信,限免这些软件都给我听着,你们只有在运行的时候才能自己向自己的服务器检查信息,后台或者关闭的时候都由我大苹果自己的服务器接管”。 这是什么意思呢,就是苹果自己出了一个类似QQ,MSN的“即时聊天”平台,每台iphone.ipad,ipod touch都由自己的机器唯一代号(序列号,机器码)作为帐号登录在苹果的即时聊天平台上,就是你只要用苹果的设备上网了,就已经登录了苹果自己的”QQ“了。 之后以新浪微博客户端为例,解释他是如何在没有后台运行的情况下,有人给你回复了,给你推送消息然后在程序上显示出消息数字的。首先,你至少第一次登陆了新浪微博,然后打开了推送功能。之后新浪微博的服务器就知道了你了这台机器(序列号,机器码)需要接受推送消息了。之后你最小化了新浪微博的程序,或者直接退出了,你就与新浪的服务器没有任何数据交换了。说是迟那时快,有人回复你了,新浪就把这条消息发给苹果服务器:“老乔,那台序列号是××××××××的机器收到一条消息,你帮我代为转达吧”,如果你的Ipad在线,你就收到苹果服务器的消息了,Ipad就会跳出消息,在程序上标上红果果的”1“。 这样的好处就是,QQ,MSN,飞信,Facebook。。。。。。。。。。。。不用后台运行,分别和自己的服务器请求信息,全部被苹果的服务器大包大揽了,挂一个苹果的”QQ“总比挂几十个即时通讯,SNS的程序省电省流量吧。 所以说,支持推送的都是经过苹果认证的软件,就是说开发者要去苹果注册才能使用苹果的推送,为什么Cydia不支持推送你就懂了吧,你从来不会见到Cydia自己跳出来说有更新。 其他的功能,Facetime啦,Find my Iphone啦,都是类似的原理,因为你都“被”登录了。 其他的手机比如黑莓就是推送的始祖, 黑莓的手机就是帐号,一直登录在黑莓的服务器上,有邮件了黑莓的服务器就代为转达,前段时间不就是黑莓的推送服务器坏了被人骂死了么,希望苹果的推送不要出问题。 其实手机短信就是一个标准的推送模式。你一直和基站保持通讯,有短信了就立刻能收到,只是一个是基于GSM网络的,一个是基于Internet的。要是有一天全部基于Internet那就爽了。(但是运营商就哭了,所以近期不现实) 本人不专业,只是把自己了解的的跟大家分享一下。 (原文地址:http://mac.pcbeta.com/viewthread.php?tid=85080,作者以简单易懂的话语解释了苹果的推送原理,个人觉得很棒,故此收藏) |