在我的应用程序中实现Web套接字我感到困惑,哪个更好。我发现了很多不同的机会,但是,其中一些很难区分。
最后,我选择了Action Cable(Rails 5的 native 部分)和Faye(较早出现并很受欢迎)。
但是现在我被困住了-Action Cable和Faye是同一回事吗?有哪些区别(如果有)?
最佳答案
来自Faye网站: Faye是基于Bayeux协议(protocol)的发布-订阅消息系统。它提供了用于Node.js和Ruby的消息服务器,以及在服务器和所有主要Web浏览器中使用的客户端。
从ActionCable自述文件中: Action Cable将WebSockets与其余的Rails应用程序无缝集成。它允许以与Rails应用程序其余部分相同的样式和形式用Ruby编写实时功能,同时仍具有高性能和可伸缩性。它是一个全栈产品,提供了客户端JavaScript框架和服务器端Ruby框架。您可以访问用Active Record或选择的ORM编写的完整域模型。
简短的回答是"is",两者都是发布/订阅消息传递系统。
长答案是“否”,因为faye是一种底层工具,而ActionCable使用faye(look here),至少是某些组件。
但是,使用(也许)不同的努力(使用faye或ActionCable构建应用程序),总是可以得到相同的结果。最大的区别是Faye用作基于机架的组件,而不是基于 rails 的组件。