我创建了一个
Asynchronous version of Rails 3,我想与WebSocket实现集成.
我正在使用EventMachine,Ruby 1.9,Fibers和各种em-flavored库,这些都是由邪恶的好品牌Ilya Grigorik记录的.
我一直在将em-websocket视为WebSocket连接的处理程序,但不确定将其连接到Rails应用程序的最佳方法.
理想情况下,这将与具有Express和Socket.io的node.js类似地工作 – 应检测传入连接并将其分派到WebSocket处理程序或常规rails堆栈,如HTTP标头和&等等
TL; DR
>插入现有Rails应用程序的WebSocket处理程序
>透明地将传入的WebSocket请求分派给应用程序中的端点
解决方法
我知道这个问题已经过时了,但希望这个答案可以帮助那些谷歌指向这里的人.
我正在研究满足原始问题中两个主要标准的宝石.这个gem名为websocket-rails,并且是从头开始开发的,以便在Rails应用程序中使用WebSockets简单易用.它最终处于稳定版本,但我相信它需要更多功能.
目前,事件处理非常基础.有一个events.rb文件,您将客户端事件映射到类似于routes.rb文件的控制器操作.对/ websocket的所有请求都将传递到嵌入式WebSocket服务器,而无需单独的服务器进程.
该项目更加雄心勃勃的目标是最终将Rails转移到更传统的MVC模式,其中客户端浏览器上的事件冒泡到服务器以进行处理和更新模型将自动触发客户端上的事件以更新该模型的呈现表示.
对于任何反馈,我们都表示感谢.