iPhone应用程序可以充当发送消息或推送通知的服务器吗?

我想编写一个iOS应用程序,可以通过蜂窝数据网络(即没有典型的集中式服务器)充当其他iPhone的客户端服务器。 目标是通过某种方式通过某种方式从iPhone服务器到多个iPhone客户端,一次一个地共享大约200条短事件消息。 Apple推送通知服务适用于此类通知,但不需要专门使用它。

我认为通过从服务iPhone连接到gateway.push.apple.com可以发送从一个iPhone到另一个iPhone的推送通知,如本地和推送通知编程指南中所述 ,但我找不到其他人讨论这种方法(也许这太明显了?)

所有这一切的原因是试图避免基础设施的开销。 如果这不可行,则欢迎使用最小化或避免额外硬件的替代方案。

要求

  • 通信必须[严格]通过蜂窝数据网络
    • 无法使用Wi-Fi
    • 蓝牙没有足够的范围
  • 与iPhone服务器的单向通信,可与多个iPhone客户端进行多播
  • 没有越狱
  • 理想情况下,服务电话的电池无需充电即可处理

更新5/4/11美国东部时间上午2:12:为了清楚起见 ,我没有任何特殊要求使用APN; 我认为在这种设置中可能是可行的,但从下面的讨论中,听起来并非如此。 但是,我仍然对任何其他系统感兴趣,这些系统可以帮助我通过某种类型的消息传递或类似的通信forms实现相同的最终结果。

从理论上讲,您应该能够编写一个可以连接到APNS并向运行应用程序的其他设备发送通知的iOS应用程序。 但是,您的主要问题是实际获取其他设备的“令牌”。 当你有一个集中的服务器来完成这项工作时,它总是在线,因此,客户可以通过http与它“交谈”并自己注册(在此过程中将它们的令牌提供给服务器)。 因此,服务器知道客户端令牌,并且它可以使用它们通过APNS向客户端发送通知。

但是,在您谈论的场景中,这是不可能的。 但这并不是说它不可能。 可能是您可以使用电子邮件帐户X来存储所有客户端令牌。 每个客户都会向该帐户发送一封电子邮件,其中包含令牌。 因此,当另一个“客户”想要向另一个客户发送通知时,它可以通过查看电子邮件帐户的收件箱找到该令牌(您可以缓存这些内容并以多种方式对其进行优化)。

但重点是一些(第三方(例如:电子邮件服务提供商)/您自己的)全天候在线服务器的服务器将如何参与该过程。

让我们知道您如何进步。 知道这将是有趣的。