什么是Node.js的socket.io的Ruby等价物?

如果我想将使用socket.io的节点应用程序转换成Ruby on Rails应用程序,那么replacesocket.io的选项是什么? (本质上是寻找一个Ruby的套接字服务器)

http://socket.io/

计划翻译下面的应用程序: http : //www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/

我build议将Faye Ruby实现作为可靠的服务器端实时组件。 它不是socket.io的直接端口,但为您提供了实时基础架构和一些定义好的消息传递概念,可帮助您移植大多数实时应用程序。

您可以通过实时networking技术指南find更多选项。

我强烈推荐Pubnub ,它有许多包装,包括ruby。

文档很容易遵循,他们有很多教程。

我在许多rails项目上使用过pubnub,包括覆盆子派项目。

现在Rails 5已经内置了ActionCable,这意味着websockets现在已经成为Rails的标准了!

你看Plezi框架吗?

你可以使用它作为一个单独的框架,或通过添加websocketfunction来增加Rails / Sinatra 。

它使用Iodine服务器运行,并支持本地websocket,RESTful路由和HTTPstream,所以很容易有一个回退的位置,如长时间拉,很像socket.io当networking套接字不工作。

使用Redis进行开发并具有原生支持非常有趣和容易,因此它允许在进程和机器之间进行websocket广播…虽然它仍在开发中,但它充满了潜力。

广播/回声WebSocket应用程序可以像这样:

require 'plezi' class Echo def index "this is an echo server - use websockets to connect. test with: https://www.websocket.org/echo.html" end def on_message data _echo data broadcast :_echo, data end def _echo data response << data end end Plezi.route '/', Echo 

你实际上可以把代码放在irb控制台中,服务器会在退出irb时使用exit命令启动。