我有一个Rails网络应用程序,用于从运行我开发的应用程序的iOS设备收集数据。Rails网络应用程序和Mac应用程序之间的通信
Rails Web服务器将处理与Apple推送通知服务的通信,因此iOS应用程序将向其发送所需的设备令牌和其他特定于应用程序的数据。
Mac应用程序将与Rails应用程序通信以将消息推送到iOS设备。 Mac应用程序和Rails网络应用程序都将在相同的Mac服务器上运行,使用相同的用户帐户。
iPhone和Mac应用程序与Rails网络应用程序之间的通信将使用Web应用程序公开的RESTful Web服务完成。
一旦iOS应用程序将其数据发送到Rails Web服务,我需要将该数据发送到Mac应用程序,该应用程序将与Rails Web应用程序在同一服务器上运行,以便它知道哪些消息需要被推到哪里以及他们应该被推到哪里。
如果我想在同一个盒子上的Rails Web应用程序和Mac应用程序之间进行通信,应该寻找什么?
我已经研究了从Mac应用程序通过RESTful服务轮询web应用程序,但我不认为这是最优雅或有效的解决方案。有什么方法可以从Ruby的Mac应用程序调用某些操作?
编辑:
我刚刚看了一下NSDistributedNotifications
和分布式通知中心。这听起来像我在找什么。
是否可以使用Rails应用程序中的RubyCocoa发送分布式通知并让Mac应用程序监听此通知?
这似乎有点奇怪的安排。为什么Mac应用程序不能充当服务器?为什么要使用Rails? – 2011-11-30 05:04:04
我想因为rails应用程序已经存在。集成rails应用程序的功能需要花费一些时间和精力,但我想这应该是更好的安排,并且可能是解决这个问题的方法。 – Jasarien 2011-11-30 09:22:49