直接在不同位的电话之间发送数据

时间:2012-05-14 16:40:55

标签: iphone ios

我有一个iPhone应用程序的想法,这将为我赚取数十亿美元,并帮助我接管世界。我目前正在设计应用程序的体系结构。我原先假设我需要创建和托管一个数据库,允许用户上传他们的数据并与其他目标用户共享。但我认为如果用户可以直接将数据发送给对方而不将其存储在数据库中会更好。但是,我一直无法找到任何暗示这是可能的事情。

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

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

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

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

无需将此标记为正确或向上投票,但我将在新的世界秩序中承担高薪工作。

答案 2 :(得分:1)

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

引用他们的网页:

  

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

     

亚马逊SQS通过展示亚马逊的网络规模消息传递来发挥作用   基础设施作为网络服务。 Internet上的任何计算机都可以添加   或者在没有安装任何软件或特殊防火墙的情   配置。使用Amazon SQS的应用程序组件可以运行   开发的,独立的,不需要在同一个网络上   使用相同的技术,或同时运行。

他们有一个iOS API可以将其集成到您的应用中,每月最多可发送100,000封邮件,之后每10,000封邮件可免费获得0.01封。

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

答案 3 :(得分:0)

  

是否可以在非关闭的iPhone之间发送数据   接近(蓝牙),而不是局域网?

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

  

例如......位于田纳西州的用户#1会创建一些信息   并点击"发送给他人"它直接将信息发送给   用户#2,位于亚利桑那州,用户#3,位于缅因州。可能的   短信功能被黑客攻击吗?

这里的问题是:

  • 帮助每台设备发现其他设备的正确地址,并且......

  • 确保设备可以互相联系。

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

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