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

标签 iphone ruby-on-rails xml http

我现在正在处理的一个项目的很大一部分是处理从 iPhone 应用程序到 Ruby On Rails 应用程序发送某些消息,这些消息可以很容易而且最好是 XML。 Web 应用程序必须立即显示这些消息,因此重新加载页面并不是一个真正的选择。

我一直无法找到任何信息:为 POST 请求创建这种监听过程,任何人都可以指导我走正确的道路,如果我忽略了,也许可以阐明我应该做什么某物?

编辑:使用套接字会更聪明吗?这些应用程序将在同一 wifi 网络中从 iPod Touches/iPad 运行。

谢谢!

最佳答案

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

  1. Rails 应用程序接收消息(例如通过将 XML 发布到 /messages)
  2. Rails 应用程序将消息发布到消息队列中。看看resque
  3. 事件服务器监听队列并将消息发布到浏览器

更新: 抱歉,我误读了您的问题,因为 iPhone 应用程序只是发送部分。不幸的是,您不能在 iPhone 上使用 JSSockets,因为它带有用于通信的 Adob​​e Flash 组件。但是,您仍然可以选择使用长轮询或在 Objective-C 中实现套接字,并通过 [webview stringByEvaluatingJavascriptString] 将接收到的对象推送到您的 webview 中。

关于iphone - 如何从 iPhone 应用程序异步接收数据到 Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163255/

相关文章:

ruby-on-rails - 如何在rails控制台中编写多行命令

jquery - 使用 jQuery 读取存储在我的响应 header 中的 JSON

ruby-on-rails - rhc 设置 - 未找到命令

iphone - 清除 tableView 单元格缓存(或删除条目)

ios - 在多个 UITextField 的数字键盘上显示完成按钮

iphone - 将 TextField 添加到 AlertController 会破坏 AlertController

xml - 用Go解析xml,有多个项目

java - 使用 DOM 解析 XML 文件 (Java)

java - 在Google上实现操作

iphone - UITableView 将行锚定到底部