2010-10-26 75 views
6

我有一个可以在线和离线使用的iPad应用程序,但是当我离线时,一旦在线可用性再次成为选项,就会需要进行网络服务调用。iOS/iPad的消息队列 - 类似MSMQ?

例子: 新客户端添加到应用程序,这需要发送到Web服务,但由于我们正处于离线状态,我们不想减缓用户失望,所以我们让他们在本地添加和继续下去,但我们需要记住,我们可以在网络服务上进行调用。同样的事情下订单等。

是否有某种队列可以设置,一旦连接就会触发?

回答

3

我不认为像MSMQ这样的重量级工具的开销是需要一个简单的动作。您可以使用核心数据,使用调用Web服务所需的数据来持久保留托管对象,并且只能在成功发布后删除每个托管对象。在连接开始时,可​​能或可能没有方法捕获事件,但当第一条消息排队时,您肯定可以创建重复的NSTimer,并在队列中没有消息时停止它。

+0

队列部分是我的问题,寻找关于如何实现这一目标一点点方向。不知道如何排队函数调用。我刚刚使用MSMQ作为例子,因为我曾经使用过它。 – Slee 2010-10-26 11:51:04

+0

我刚刚告诉你如何排队。 :-)使用核心数据。任何有序的集合都是有效的队列。取一个,处理它,删除它。你甚至可以排队函数调用,但可能没有必要,因为你的处理线程可以根据它提取的数据知道要调用哪个函数。 – 2010-10-26 12:03:46

+0

没有什么像俯瞰明显 - 谢谢你! – Slee 2010-10-27 17:29:43

1

该库处理离线持久消息队列,用于您描述的情况。它说,阿尔法从一年前的,但我已经证实了它在生产应用中使用:

​​

相关问题