红宝石静态Web服务器与手表模式?
答
Ruby on Rails有ActionCable它使用websockets使用发布/订阅方法使浏览器保持最新状态。
编辑:Faye-websocket是一个websocket的实现,不需要任何框架,只需一个Rack兼容的Web服务器。
根据您的需求,可能有预建的应用程序可用。例如,如果您想要一个带有可更新的小部件的仪表板,您可以使用Smashing。
答
除了马克的回答,iodine
是一个Ruby HTTP和WebSocket的服务器用C写的
它拥有一个基本的静态文件服务以及为WebSocket连接(使用的WebSocket回调对象)的原生支持。
静态文件服务甚至不需要Ruby应用程序。即:
$ iodine -www ./
碘还支持发布/订阅(有或没有的Redis)开箱,移动很多的工作量出红宝石层和进入C发动机。
虽然当前默认使用的线程和进程数量与计算机上的核心数量(优先于并发性能)相同,但可以在单线程模式下运行碘(由于其设计是平坦的)。
使用Rails时,可以使用碘代替ActionCable,方法是使用中间件(定制的或例如Plezi gem)捕获WebSocket连接。
作为作者,我有点偏颇,但我认为这是一个简单的解决方案来实现,我的测试表明它的性能显着提高。
对不起 - 没有去轨道上的红宝石....我想要简单的例如nodemon for JavaScript – Ruegen
Faye&Smashing是非常棒的推荐,但我不明白他们如何在终端上使用静态HTML,比如httpd – Ruegen