ruby-on-rails - Action Cable 和 Faye 一样吗?

标签 ruby-on-rails websocket faye actioncable

在我的应用程序中实现 Web Sockets 我很困惑哪个 gem 更好。我发现了很多不同的机会,但是,有些很难区分。

最后,我选择了 Action Cable(Rails 5 原生部分)和 Faye(出现得较早并且非常流行)。

但现在我被困住了——Action Cable 和 Faye 一样吗?哪些是差异(如果有的话)?

最佳答案

来自Faye网站: Faye 是一个基于 Bayeux 协议(protocol)的发布订阅消息系统。它为 Node.js 和 Ruby 提供消息服务器,以及在服务器和所有主要 Web 浏览器中使用的客户端。

来自 ActionCable 自述文件: Action Cable 将 WebSockets 与 Rails 应用程序的其余部分无缝集成。它允许以与 Rails 应用程序的其余部分相同的样式和形式用 Ruby 编写实时功能,同时仍然具有高性能和可扩展性。它是一个提供客户端 JavaScript 框架和服务器端 Ruby 框架的全栈产品。您可以访问使用 Active Record 或您选择的 ORM 编写的完整域模型。

简短的回答是肯定的,两者都是发布/订阅消息系统。

长答案是否定的,因为 faye 是一个低级工具,ActionCable 使用 faye (look here),至少是一些组件。

但是,使用 faye 或 ActionCable 构建应用程序(也许)不同的努力,您总是可以获得相同的结果。最大的不同是 Faye 作为基于机架的组件而不是基于 rails 的组件工作。

关于ruby-on-rails - Action Cable 和 Faye 一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42365327/

相关文章:

node.js - Nodejs : websocket routing based on URL without port proxying

python - thor websocket 负载测试 - 在 Web 套接字握手请求中添加自定义 http header

javascript - JS : Fastest way to push console output to client

node.js - 浏览器客户端无法接收消息

ruby-on-rails - Rails 4 和 RSpec 3 : Testing models and allow_blank

unit-testing - 为什么单元测试不能连接到 websocket

ruby-on-rails - 抽佣 Assets :precompile error message: No such file or directory -- ruby

ios - 从哪里开始,在 Faye for iOS 中实现长轮询

mysql - 将数据从 excel 表存储到 ror 中的 db

ruby-on-rails - Ruby Net::HTTP 使用 SSL