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


 30 12
发新话题
打印

[数码手机] 我来科普一下:通知和轮询的区别

引用:
原帖由 zmqzmq2010 于 2011-6-23 21:15 发表
LZ我就请教1个问题:
IOS5敢于把维特+IM+云端大量数据同步集成到系统内核里,是否代表苹果自家PUSH服务器+系统推送部分的可靠性足够应付QQ之类信息及时准确传递?
这有什么可靠性的问题么?手持设备能有多少数据流量。手机端不会出现任何性能上的问题,关键看服务器上面消息队列和调度算法实现的怎么样。这个apple不推出服务,我们是的不到结果的。不过我猜想,没问题。
正常情况下,push机制绝对不管再性能上还是在节省系统资源上都比轮询好很多,当然这个前提条件是服务器端服务正常,要不android搞个屁的push机制啊。直接用以前的轮询不就ok了么


本帖最近评分记录
  • zmqzmq2010 激骚 +9 疯狂厨房 2011-6-23 21:29

TOP

引用:
原帖由 cc0128 于 2011-6-23 21:20 发表
posted by wap, platform: SAMSUNG (Nexus S)

阻塞和非阻塞不是程序代码可以控制的么。
对,如果柱塞的话,又没有服务器唤醒,哪你不就一直祖塞再那里收不到消息了嘛,说白了push就是吧一部分手机上需要实现的功能放到服务器上去了,节省手机cpu和网络资源



TOP

引用:
原帖由 jun4rui 于 2011-6-23 21:11 发表
posted by wap, platform: Chrome

你可以看时序图的发起方,显然有变动后,是服务器主动发起的。

而且里面说了:

Google Sync是通过Atom Feed协议进行的. 这样当Server端有changes后, 会通过C2DM框架发送"com ...
哪不就得了,主动发起方是服务器端,如果google不脑抽,必然是通过硬件中断间接唤醒手机上的进程去服务器同步数据,这就是push的方式啊


TOP

引用:
原帖由 cf3b5 于 2011-6-23 21:18 发表
实在受不了,这个破东西都能折腾这么久,而且都没有说到点子上~
其实轮询还是通知这东西根本就没啥差别,去到最底层肯定还是轮询机制,只不过底层轮询速度超快,去到应用层可以看成是无缝的事件触发机制的而已~
...
你看懂我说的东西了么?socket阻塞这种push的方式根本就不是底层轮询,而是由硬件驱动唤醒的。摆脱先看看操作系统实现的机制再出来喷

TOP

引用:
原帖由 cf3b5 于 2011-6-23 21:20 发表

这叫做物似主人形!
可惜有这问题的不止我一个,A粉丝大有人在。

TOP

引用:
原帖由 潜水艇的水 于 2011-6-23 21:24 发表

对,如果柱塞的话,又没有服务器唤醒,哪你不就一直祖塞再那里收不到消息了嘛,说白了push就是吧一部分手机上需要实现的功能放到服务器上去了,节省手机cpu和网络资源
这个不知道android下的解决如何,反正阻塞模式在windows下很蛋疼,好多次都把程序搞死了。。。

TOP

引用:
原帖由 潜水艇的水 于 2011-6-23 21:29 发表

你看懂我说的东西了么?socket阻塞这种push的方式根本就不是底层轮询,而是由硬件驱动唤醒的。摆脱先看看操作系统实现的机制再出来喷
我觉得其实他说的没错,只不过轮询的不是app的socket,而是OS,再由OS来触发唤醒。。。

TOP

引用:
原帖由 masterfish 于 2011-6-23 21:35 发表
这个不知道android下的解决如何,反正阻塞模式在windows下很蛋疼,好多次都把程序搞死了。。。
这个是实现的问题,不是机制上的问题。呵呵

TOP

引用:
原帖由 masterfish 于 2011-6-23 21:36 发表
我觉得其实他说的没错,只不过轮询的不是app的socket,而是OS,再由OS来触发唤醒。。。
不一样,其实OS根本没有轮询数据包的动作。
数据包都是硬件收到后,主动通知cpu有个任务要做,然后再有os调度哪个app来完成这个任务。触发点不一样

TOP

posted by wap, platform: SAMSUNG (I9000)

任何的聊天工具应该都是双工的,所以肯定是有一个监听端口监听服务器的连接,一旦连接成功,这个连接就会持续的接受数据,不用自己去获取的

TOP

同意楼上的,肯定有个系统级的进程是开了监听端口的。

TOP

ls和lss属于不看帖回帖的,懒得解释了。呵呵

TOP

我看了,感觉你完全没说到点子上,你说的是异步和同步的区别,阻塞是同步方式,非阻塞是异步,但这种方式不是消息推送和拉取的本质区别,因为即使是同步的方式接收数据也可只是一个背景线程或是进程,对整体性能不会造成过大的影响.而且同步和异步的实现机制你也说得不对,异步等待时不可能是向服务器确认数据的。

TOP

引用:
原帖由 潜水艇的水 于 2011-6-23 21:09 发表

不至于吧,飞行不开第三放后台程序一个晚上能耗多少电?能超过10%么?
那么多亲儿子二儿子用户,就2楼莫名其妙的问题多,甭理他……不具有代表性
不手动关闭任何进程开飞行模式8小时耗电1%的未root亲儿子用户路过

TOP

引用:
原帖由 zmqzmq2010 于 2011-6-23 21:15 发表
LZ我就请教1个问题:
IOS5敢于把维特+IM+云端大量数据同步集成到系统内核里,是否代表苹果自家PUSH服务器+系统推送部分的可靠性足够应付QQ之类信息及时准确传递?
苹果的APNS服务器是可靠的.
ios的push是建立在一个TLS连接上的, TLS连到苹果的APNS,15分钟握手保活.

然后各种应用程序的服务器,比如exchange server,qq等,是和APNS建立连接,发送消息到APNS,然后才由APNS根据TLS里包含的iphone的证书信息,发送消息去iphone.
设备证书是连接的时候通过token key生成的.

TOP

 30 12
发新话题
     
官方公众号及微博