如何从iPhone应用程序异步接收数据到Rails应用程序?

时间:2010-07-02 04:34:58

标签: iphone ruby-on-rails xml http

我正在处理的项目的很大一部分现在处理从iPhone应用程序到Ruby On Rails应用程序发送某些消息,这些消息可以轻松地,最好是XML。 webapp必须立即显示这些消息,因此重新加载页面实际上不是一个选项。

我一直无法找到任何信息:为POST请求创建这种监听过程,任何人都可以引导我走正确的道路,也许可以对我应该做的事情有所了解,如果我忽视什么?

编辑:使用套接字会更聪明吗?这些应用程序将在同一个无线网络中的iPod Touch / iPad上运行。

谢谢!

1 个答案:

答案 0 :(得分:1)

你想要完成的是可行的,但肯定不是Ruby on Rails的优势之一。如果您需要实时更新浏览器中的消息,可以使用JSSockets。但是,您需要一个能够处理许多持久连接的服务器后端,例如nodejs,或者您更喜欢使用ruby EventMachine。如果你仍想通过rails app 接收消息,那么数据流将是

  1. Rails应用程序收到消息(比如通过将XML发布到/messages
  2. rails app将邮件发布到邮件队列中。看看resque
  3. Evented服务器侦听队列并将消息发布到浏览器
  4. 更新: 抱歉,我误解了您的问题,因为iPhone应用只是发送部分。不幸的是,你不能在iPhone上使用JSSockets,因为它附带了一个用于通信的Adobe Flash组件。但是,您仍然可以选择使用长轮询或在Objective-C中实现套接字,并通过[webview stringByEvaluatingJavascriptString]将收到的对象推送到您的网页视图中。