Rails 3:支持 IE 9 的长轮询或套接字
Posted
技术标签:
【中文标题】Rails 3:支持 IE 9 的长轮询或套接字【英文标题】:Rails 3: Long polling OR sockets with IE 9 support 【发布时间】:2015-02-04 14:49:51 【问题描述】:我们的 Rails 应用充当 UI 和后端的 Java 驱动 API 的中间人。基本上,rails 接收来自浏览器的请求,告诉 API 它需要什么,进行一些规范化和格式化,然后将其返回给浏览器。我们的应用程序也是一个已安装的应用程序,通常无法访问互联网。哦,这一切都被编译成 JRuby 战争。
目前,为了随着时间的推移获取各种事物的状态,我们每 X 秒运行一些 javascript 间隔。我们已经开始讨论一个更好的解决方案,但是鉴于上述要求,并且需要对 IE9 的支持,我不确定最好的行动方案是什么,或者如何实施它。基本上,我正在寻找一些可靠的例子,或者在 rails 3 中进行长轮询,或者某种适用于 IE9 的套接字实现以及我们不稳定的安装/编译要求。
如果有任何想法或反馈,我将不胜感激。
【问题讨论】:
【参考方案1】:IE 9 要求排除了WebSockets 实现。
基本上,我正在寻找一些在 rails 3 中进行长轮询的可靠示例
长轮询/轮询解决方案的一个示例是 Discourse 论坛软件使用的 MessageBus。这是一个 Rails 应用程序,但它们不再在 Rails 3 上。
https://meta.discourse.org/t/why-does-discourse-not-use-web-sockets/18302
“消息总线”是一个组件,它使我们能够轻松地向我们的客户以及场中的 Rails 进程之间发布信息。
https://meta.discourse.org/t/how-discourse-stays-online-message-bus-faye-long-polling/3238/7
Message Bus 固执己见,它只支持驱动 Discourse 所需的协议。它只支持redis进行存储。消息总线不支持 Web 套接字。它只支持轮询和长轮询。
【讨论】:
谢谢@wpp,我一定会检查MessageBus。 @KevinWhitaker np。查看 discourse 和 SamSaffron 以了解此类内容。他的工作效率惊人,并且对这些事情非常开放(源代码)。以上是关于Rails 3:支持 IE 9 的长轮询或套接字的主要内容,如果未能解决你的问题,请参考以下文章