为什么移动设备必须定期检查服务器是否有更新?

时间:2011-07-06 20:44:24

标签: iphone android mobile

据我所知,某些应用程序需要定期检查服务器,但为什么服务器不让移动设备知道何时需要更新。

例如,假设您收到gmail中的电子邮件。就目前而言,接收电子邮件和设备通知您之间可能会有延迟。我认为这与等待设备检查gmail服务器有关,此时它会看到新的电子邮件并通知用户。对我来说更有意义的是,当gmail服务器收到电子邮件时,它应该ping(或者创建者想要实现它)所有已注册的设备,让他们知道是时候更新了。通过这种方式,通知将被同步,并且移动设备可以通过不必定期检查服务器来节省电池。

4 个答案:

答案 0 :(得分:2)

您所描述的内容称为“服务器推送”。一些移动应用确实使用服务器推送。谷歌实际上已经有了一项技术,可以更容易实现,名为“云到设备消息传递”(C2DM)。它的工作原理是让服务器通过谷歌C2DM服务器向设备上运行的应用程序发送一条微小的消息,通知它有时间进行更新。然后设备从原始服务器(而不是C2DM)检索实际更新。

它的好东西。它允许侦听C2DM的服务设法唤醒手机和一切。缺点是,应用程序的用户需要一个谷歌帐户。对于Android用户来说,这并不是一个缺点。

答案 1 :(得分:0)

在某些情况下除外。在我的iPod上的“设置”的“邮件,通讯录,日历”部分中,有一个标有“获取新数据”的子菜单,其中包含一个选项,可以让邮件服务器或任何“推送”数据到iPod。您可以设置计划的Fetch方面适用于Push关闭或您正在与不支持推送的应用程序同步。

答案 2 :(得分:0)

Android就是这样做的。它将通知推送到设备,并且api对第三方开发人员开放,因此他们可以向用户推送通知。

答案 3 :(得分:0)

事情是,在任何特定时间都很难知道移动设备的地址,IP地址是动态的,在服务器上地址更加稳定,因此设备知道它总是会在Google上找到谷歌。但谷歌没有真正的方法知道在哪里找到设备,它首先不知道在哪里ping。

这是推送的地方,有不同的实现,但我认为它们的工作原理是让设备保持与服务器的连接,并在丢失时重新建立它。 见http://en.wikipedia.org/wiki/Push_technology

这当然更难实现和维护,然后简单的客户拉动。