0

这通常是一个常见的问题。

我想知道邮件应用程序如何实现电子邮件接收功能?我需要使用我的网络服务在两个设备(例如)之间实现简单的同步。

想象一个待办事项列表应用程序。

是否有可能实现这样的功能:设备1创建一个条目,然后向webservice发送一条消息,webservice通知设备2发生了变化,设备2调整其数据并显示该条目?

4

2 回答 2

2

在 iOS 上,您可以通过推送通知轻松实现您想要的。一旦服务器检测到 device2 需要注意的更改,服务器就会向该设备发送推送通知。

在用户查看通知后,应用程序应该自行更新,让应用程序在进入前台时自行更新也是一个好主意。

使用推送通知而不是轮询的原因是,如果您的应用程序在后台,您最多只能继续运行一个进程 10 分钟。您可以通过将背景模式添加到您的应用程序来解决此问题,例如 VOIP、音频或位置。但是,如果您的应用不属于这些类别,苹果可能会拒绝您的应用。

使用推送通知,即使您的应用程序没有运行或在后台,设备也会收到通知。

于 2013-01-22T11:12:20.163 回答
1

基本上有2种方式:

  1. 轮询,每台设备每 N 分钟向网络服务器请求更改:新的待办事项、删除待办事项、更改待办事项……然后每台设备都会进行调整。民意调查的频率取决于您正在寻找的实时水平。它可以是每秒或每 12 小时或更长时间打 1 个电话。
  2. 实现一种BOSH 协议:设备打开到服务器的连接。服务器保持打开状态,直到有新内容要发送到设备或连接超时。在这种情况下,设备会重新打开它。

选项 1 更适合您的待办事项应用程序,因为您不需要实时准确性。选项 2 更适合您不想等待消息的聊天应用程序。

于 2013-01-22T11:13:29.223 回答