首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails异步通信和xhr轮询

rails异步通信和xhr轮询
EN

Stack Overflow用户
提问于 2010-10-21 01:06:57
回答 2查看 937关注 0票数 0

我需要编写一个在后台与另一个服务进行异步通信的Rails应用程序(JRuby)。每个浏览器会话需要有一个连接。(它实际上不需要是一个开放的TCP连接,但我需要在会话结束后释放资源。)与后台服务的通信不是严格的请求-响应。在任何时候,都可以从服务向rails应用程序发送一条消息。

我还需要实现协议。我该怎么做呢?Ruby on Rails有没有异步框架(比如Twisted或Node.js)?我只需要一些起点。

我已经用Python编写了客户端协议的快速实现。事实上,完整的协议是由我制定的(服务器是用JavaScript编写的),所以我可以完全更改协议。但是,由于问题的性质,不能更改异步性质。

另外,我需要XHR轮询/WebSockets,以便将异步更改推送到浏览器。有没有关于这个的gem/howto/教程?我不能简单地将请求设置为睡眠(资源!)。

如果您想了解更多背景知识: Rails应用程序是一个可访问性工具。它与之通信的服务实际上是一个加载和呈现网页的Firefox附加组件。异步的本质来自(I)框架,弹出窗口(window.open()window.alert(),...),DOM树的动态变化,必须与Rails应用程序通信,重定向(如在论坛中摆姿势后)等。

EN

回答 2

Stack Overflow用户

发布于 2010-10-21 01:25:25

Ruby On Rails也是一个异步框架。使用瘦服务器。Node.js或Twisted不是异步框架。只有事件框架。

在ruby中,事件框架是EventMachine,瘦服务器可以使用它。您可以使用rack::中间件创建一些websocket并使用它。

票数 0
EN

Stack Overflow用户

发布于 2010-12-08 06:37:11

看看Juggernaut 2,它就是这样做的(它也使用了node)。我正在使用它将消息从我的服务器推送到所有连接的客户端,它工作得很好。实现是轻而易举的(尽管自述文件对某些事情有点不清楚),让我知道你是否需要任何帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3980495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档