» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 72 12345
发新话题
打印

[数码手机] 求科普:iOS的通知和轮询的区别

看到大家争得厉害,有没有业内或者编程高手用通俗易懂的话解释下,为什么iOS的通知模式会比较省电?按我的理解,如果进行网络连接,接收方应该都必须要进行轮询来检查是否有信息到来吧?


TOP

轮询:固定N秒找服务器要数据
SB和安卓QQ等

推送:服务器给你更新消息
IOS版QQ和微信等

除黑莓那种服务商推送,都要联网。。。。



TOP

引用:
原帖由 zmqzmq2010 于 2011-6-23 14:44 发表
轮询:固定N秒找服务器要数据
SB和安卓QQ等

推送:服务器给你更新消息
IOS版QQ和微信等
服务器推送的信息,手机如何接收?还不是要维持一个socket通道?我感觉区别就是:
1、android那种就是ap自己轮询
2、iOS的通知是OS级别的轮询


TOP

不清楚,只要能及时收到信息就行。。。。没什么区别

轮询相对耗电罢了。。。。

TOP

我来说吧。
什么轮询。就是sb果青不懂技术瞎tmd说。和后台没个蛋关系。
还什么os级别。。
push和轮询完全看程序自己写。

ios部分:(脑补。没仔细研究过。就当我纯粹喷)

ios的所谓push。大概是苹果提供一个服务器。。
ios设备一直和服务器保持长连接。
然后第三方发消息告诉apple的服务器通知某台ios设备。

如果是QQ,push的过程应该是:
tencent服务器 -----有人q你啦 --->apple push服务器 --- 有人q你啦--->ios设备。
这里由于多了一步。所以ip上的qq的push经常会出丢数据等问题。(果青:腾讯太渣了!不给力!)


下面是android。
android系统界面叫activity,后台处理叫service(还是和ios一样,就是瞟了眼,没细看,大部分是脑补。。)
所以android后台执行的时候只执行service,界面或者其他消耗资源的东西不执行,耗电完全是可以控制的。
至于是轮询取数据还是push。完全看程序的设计。

这里还是拿qq举例。
qq后台后在后台保持一个长连接socket与服务器直接连接。
tencent服务器 -----有人q你啦 --->android设备
所以android上qq后台的push给力很多。少一个步骤。无论是速度还是反映都快很多。。



ios的push优势就是整个ios设备只要保持一个长连接。而且不用打开程序。十分省电。但是权限不够。功能太少。比如之前的qq就不支持保存push的聊天记录啥。。
android如果你同时挂qq。挂msn。可能就要保持多个长连接。打开多个程序了。但是功能强大。效率高。

目前长连接技术已经十分成熟。耗电已经十分低了。
参考bb的push也是一样的原理。只是直接和运营商合作。和手机信号绑一起所以不耗电。。

总体来说各有所长。。但是android的notification系统秒杀目前的ios。。
所以体验来说android会高很多。


一破1x年前技术。还当宝。

[ 本帖最后由 cc0128 于 2011-6-23 15:22 编辑 ]
本帖最近评分记录
  • Hopeless 激骚 +2 太骚了 2011-6-23 18:31
  • ValuePack 激骚 +4 拍拍肩膀 2011-6-23 15:56

TOP

posted by wap, platform: Chrome

iOS 的通知 是 Apple 自己在系统里挖的一个官方通道!

在不越狱的情况下
比如你用 MSN 在 MSN  程序里面的时候是 MSN 这个 APP 来接受消息. 当你按 HOME 键的时候 这个 MSN APP 已经不再运行了 也就是说 它不再接收任何消息了
但是 Apple 提供了一个特别通道来接受 MSN 已经被挂起时你收到的消息 也就是说 你收到的通知 并不是 APP 本身接受的

如果你用 在大陆用 facebook 和 twiiter 你会发现 就算不挂 VPN 也能收到 消息通知.. 说明 这些推送消息是 Apple 自己的通道进来的和 APP 无关

TOP

posted by wap, platform: iOS

喷了...你不后台你怎么让QQ找服务器轮询更新?
说到底一些人所谓的真后台就是为塞班这类QQ轮询服务器存在,简单区别就是不开程序就收不到提醒,IOS不开程序靠服务器也能知道提醒...

TOP

引用:
原帖由 zmqzmq2010 于 2011-6-23 15:12 发表
posted by wap, platform: iOS

喷了...你不后台你怎么让QQ找服务器轮询更新?
说到底一些人所谓的真后台就是为塞班这类QQ轮询服务器存在,简单区别就是不开程序就收不到提醒,IOS不开程序靠服务器也能知道提醒...
无知成这样。还轮询。我整个人都轮询了。
开不开程序,后不后台和push和轮询没关系好么。
果青真神了。


[ 本帖最后由 cc0128 于 2011-6-23 15:20 编辑 ]

TOP

但是目前长连接技术已经十分成熟。耗电已经十分低了。。

TOP

是啊,能看到就行了, 想想你用电脑的时候几秒就弹出个消息框出来说有新消息,很人性化是吧.请试试你们在用电脑的时候把消息设置为自动弹出窗口吧

[ 本帖最后由 Eclipses 于 2011-6-23 15:26 编辑 ]

TOP

posted by wap, platform: iOS

还长连接...我整个人都长连接了。
QQ更新消息机制就是按固定时间周期对腾讯服务器进行访问,这叫轮询,懂么?
知道你所谓长连接怎么没那么耗电?是因为这个时间周期可以做到不用时时访问服务器完成大量的流量和电力消耗...懂么?

TOP

posted by wap, platform: iOS

ios越狱装个NP插件,妥妥的接管推送消息,弹窗是什么?

TOP

引用:
原帖由 zmqzmq2010 于 2011-6-23 15:36 发表
posted by wap, platform: iOS

还长连接...我整个人都长连接了。
QQ更新消息机制就是按固定时间周期对腾讯服务器进行访问,这叫轮询,懂么?
知道你所谓长连接怎么没那么耗电?是因为这个时间周期可以做到不用时时访 ...
这还叫即时通信工具吗,发邮件算啦

TOP

或者在微博上聊天也可以啊

TOP

posted by wap, platform: Chrome
引用:
原帖由 @zmqzmq2010  于 2011-6-23 15:36 发表
posted by wap, platform: iOS

还长连接...我整个人都长连接了。
QQ更新消息机制就是按固定时间周期对腾讯服务器进行访问,这叫轮询,懂么?
知道你所谓长连接怎么没那么耗电?是因为这个时间周期可以做到不用时时访 ...
大哥 你不懂不要喷了

长连接是指客户端发出一个请求 服务器以一定的时间间隔查询数据库(这时连接是不会关闭的) 如果有新的数据产生立即返回客户端(关闭连接) 客户端再发起下一个请求(新连接)

轮询是指客户端以一定的时间间隔请求服务器 服务器不管有没有新的数据都返回结果

各自适用于不同的场合,只是两种编程方式而已

长连接在QQ这种应用来看明显优于轮询

本帖最后由 xu33 于 2011-6-23 15:49 通过手机版编辑

TOP

 72 12345
发新话题
     
官方公众号及微博