5

我有一个 iPhone 应用程序的想法,它可以为我赚取数十亿美元,并帮助我接管世界。我目前正在设计应用程序的架构。我最初假设我需要创建和托管一个数据库,该数据库允许用户上传他们的数据并与其他目标用户共享。但我认为如果用户可以直接将他们的数据发送给彼此而不将其存储在数据库中会更好。但是,我无法找到任何表明这是可能的东西。

是否可以在不靠近(蓝牙)且不在 LAN 上的 iPhone 之间发送数据?例如...位于田纳西州的用户#1 创建了一些信息并点击“发送给其他人”,然后它将该信息直接发送给位于亚利桑那州的用户#2 和位于缅因州的用户#3。短信功能会被黑客入侵吗?

(我意识到属于用户 #2 和 #3 的手机必须打开,并运行将接收数据的应用程序)

我是移动开发的新手,我仍然习惯于移动设备的功能,所以我确信这是一个愚蠢的问题。但是,值得一问,因为如果可以做到,这将极大地改变这个应用程序的架构(和维护成本)。

提前感谢您提供的任何建议/指示。

4

4 回答 4

1

这是通过使用发布 - 订阅模式处理的。您可能想要研究pubnub等即插即用服务。这会让你做到这一点。应该接收彼此消息的电话将在同一 pubnub 频道上设置侦听器,并且当任何其他电话发布到该频道时将收到通知。像 pubnub 之类的东西有一个非常简单的 API/SDK,您可以使用它来快速启动和运行原型(并且至少在一开始是免费的)。

于 2012-05-14T17:21:30.650 回答
1

用户 #1 的应用程序将消息发送到您的服务器。您的服务器将 APNS 推送到用户 #2 和 #3 的电话。他们甚至不需要运行应用程序。

无需标记正确或投票,但我会在新的世界秩序中从事高薪工作。

于 2012-05-14T18:06:15.747 回答
1

Amazon 有一个名为 Simple Queue Service (Amazon SQS) 的应用程序服务,它允许您创建队列,其中包含应用程序可以订阅的消息。

引用他们的页面:

Amazon Simple Queue Service (Amazon SQS) 提供了一个可靠、高度可扩展的托管队列,用于存储在计算机之间传输的消息。通过使用 Amazon SQS,开发人员可以简单地在执行不同任务的应用程序的分布式组件之间移动数据,而不会丢失消息或要求每个组件始终可用。Amazon SQS 与 Amazon Elastic Compute Cloud (Amazon EC2) 和其他 AWS 基础设施 Web 服务紧密结合,可以轻松构建自动化工作流程。

Amazon SQS 通过将 Amazon 的 Web 级消息传递基础设施公开为 Web 服务来工作。Internet 上的任何计算机都可以添加或读取消息,而无需安装任何软件或特殊的防火墙配置。使用 Amazon SQS 的应用程序组件可以独立运行,不需要在同一个网络上、使用相同的技术开发或同时运行。

他们有一个 iOS API 可以将其集成到您的应用程序中,每月最多 100,000 条消息免费,之后每 10,000 条消息 0.01 美元。

更多信息在这里: http ://aws.amazon.com/sqs/

于 2012-05-14T18:30:24.573 回答
0

是否可以在不靠近(蓝牙)且不在 LAN 上的 iPhone 之间发送数据?

这两个设备显然需要某种连接。

例如...位于田纳西州的用户#1 创建了一些信息并点击“发送给其他人”,然后它将该信息直接发送给位于亚利桑那州的用户#2 和位于缅因州的用户#3。短信功能会被黑客入侵吗?

这里的问题是:

  • 帮助每个设备为其他设备找到正确的地址,并且...

  • 确保设备可以相互访问。

移动设备在网络上不断移动,并随时更改其 IP 地址。当您开车去上班时,您的设备可能会通过其 3G 连接访问互联网,除非您开车穿过隧道并且根本没有任何连接。进入建筑物后,wifi 连接就可用,因此设备会切换到该连接。但是你公司的网络有一个防火墙来阻止传入的连接,而且你不可能事先知道你会在任何给定时间从 DHCP 服务器获得哪个 IP 地址。亚利桑那州和缅因州以及其他任何地方的人们也是如此。

另一方面,服务器通常位于易于发现(多亏了域名系统)、易于访问且几乎始终可用的地址。由于这些原因,移动设备通常通过中间服务器相互通信。

于 2012-07-11T20:59:17.870 回答