我现在正在处理的一个项目的很大一部分是处理从 iPhone 应用程序到 Ruby On Rails 应用程序发送某些消息,这些消息可以很容易而且最好是 XML。 Web 应用程序必须立即显示这些消息,因此重新加载页面并不是一个真正的选择。
我一直无法找到任何信息:为 POST 请求创建这种监听过程,任何人都可以指导我走正确的道路,如果我忽略了,也许可以阐明我应该做什么某物?
编辑:使用套接字会更聪明吗?这些应用程序将在同一 wifi 网络中从 iPod Touches/iPad 运行。
谢谢!
最佳答案
您尝试完成的任务是可行的,但肯定不是 Ruby on Rails 的优势之一。如果您需要实时更新浏览器中的消息,您可以使用 JSSockets .但是您需要一个能够处理大量持久连接的服务器后端,例如 nodejs或者如果你更喜欢使用 ruby EventMachine .如果您仍想通过 Rails 应用接收消息,数据流将是
- Rails 应用程序接收消息(例如通过将 XML 发布到
/messages
) - Rails 应用程序将消息发布到消息队列中。看看resque
- 事件服务器监听队列并将消息发布到浏览器
更新:
抱歉,我误读了您的问题,因为 iPhone 应用程序只是发送部分。不幸的是,您不能在 iPhone 上使用 JSSockets,因为它带有用于通信的 Adobe Flash 组件。但是,您仍然可以选择使用长轮询或在 Objective-C 中实现套接字,并通过 [webview stringByEvaluatingJavascriptString]
将接收到的对象推送到您的 webview 中。
关于iphone - 如何从 iPhone 应用程序异步接收数据到 Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163255/