2

内容的类型对于这个问题并不重要,但假设我想实现一个(本地移动)购物清单应用程序,允许多个用户在共享列表上进行协作。

像这样的同步功能通常如何实现自动工作(无需明确的用户交互)?每隔几秒钟拉一次以检查较新版本并在必要时进行更新的首选方法是,还是可以推送更改?

我猜想使用 AWS、Google App Engine 甚至从头开始在 LAMP 堆栈和 REST 上实现轮询解决方案(相对)容易。但我担心连续轮询导致的流量。

尝试使用推送更新来实现这一点是否可行?如果是这样,我应该研究哪些技术、服务或设计原则?AWS 或 Google App Engine 是否可以实现类似的功能?还是拉动(并尽可能减少流量)要走的路?

4

2 回答 2

2

在应用引擎上,您应该查看通道 API。从概述

Channel API 在您的应用程序和 Google 服务器之间创建持久连接,允许您的应用程序在不使用轮询的情况下实时向 JavaScript 客户端发送消息。这对于旨在立即向用户更新新信息或将用户输入立即广播给其他用户的应用程序很有用。一些示例包括协作应用程序、多人游戏和聊天室。一般来说,在无法预测或编写脚本更新的情况下,例如在人类用户之间传递信息或来自非系统生成的事件时,使用 Channel API 比轮询更好。

于 2013-01-21T00:48:16.097 回答
0

您可以使用一些 Amazon Web Services 来创建有效且响应迅速的服务。

如果您查看可以从AWS 站点下载的 IOS SDK,您可以在其中找到使用此类服务​​的服务示例:S3_SimpleDB_SNS_SQS_Demo

首先,您可以使用 SQS,它是排队服务,它具有长轮询功能,可以帮助您减少请求数量。

其次,您可以使用 SNS,即通知(发布/订阅)服务。它与 SQS 集成,您可以订阅队列以收听通知

这些服务(和其他服务)可通过 iOS SDK 以及其他 SDK(Java、.NET、Android...)以及 REST 和 SOAP API 访问。

于 2013-01-21T20:53:58.490 回答