为什么iPhone在没翻墙的情况下就能收到Twitter的回复提醒?

会push给我@XX 回复了我blahblahblah....

但是打开twitter还是无法刷新,必须翻墙才行。

难道说iPhone内置翻墙(像kindle那样),但用户不可用?

推荐  (0) | 1人关注关注
5个答案
22 1

科学松鼠会会员,物理系

2012-02-26 15:46

解释下apple的推送服务……

曾几何时,iPhone是不允许app在退出后执行任何代码的(其实现在基本上也不允许)。所以类似Twitter这样的服务提供商根本没法在后台更新数据,更别提发送消息提示了。Apple当然理解开发者的需求,但一旦允许app后台运行会造成至少两方面的问题:1. 不同app的后台进程可能冲突,引起种种不稳定。2. 由于每个app的后台都要和各自开发者的服务器沟通,缺少统一的通信调度,很容易造成手机的运行性能下降、耗电增加。

所以Apple后来向开发者提供了统一的信息推送接口(push notification api)。它的机制可以这样理解:【开发者服务器】→发送消息→【苹果服务器】→发送到移动设备→【后台同步进程】→消息展示。

可以想见,这样的推送方式较为有效的解决了上面的两个问题。即使有大量app开启了推送服务,移动设备也只需与苹果服务器进行单线联系。同时由于后台进程只有一个,又是Apple自己负责维护,也最大程度的避免了冲突,节约了系统资源。而对于开发者,也少了很多需要操心的事情,算是一个多赢的解决方案。

这也就是为什么6姐的手机能收到吾殃殃大国敌对势力的留言。。。人家开了介绍信来的。。。

9 0

MasterYoda游走在ECE与CS之间的码农

2012-02-26 11:54

推送用的Apple服务器,Apple又米有被XX~

要把消息推送给用户分几步捏?大致分三步~

第一步~首先由Provider,在这里就是Twitter,将消息+接收方标示符打包并发送给APNS(Apple Push Notification Service, 也就是苹果推送服务器)

第二步~APNS在自己的数据库中搜寻接收方设备并把消息发送给iOS设备

第三步~iOS系统把这个消息转交给App并弹出提示框~

这样整个过程中经过了Apple服务器的中转,因为APNS并没有被大墙XX,于是乎,就收到了来自Twitter的推送~

2 0

snowmark-zhang电子信息硕士,高校教师,奶爸

2012-02-26 13:28
支持者: we_cry C.CristataX

因为不是直接走TWITTER而是经过了APPLE的服务器中转。话说我的三星手机也自动翻墙……

0 1

貌似Facebook 上有留言和评论也会发邮件提醒,我猜也是有第三方推送的原因,而且可以回复,哈哈

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区