Ruby 如何将sinatra作为websocket服务器运行?
我尝试过使用eventmachine,但我所拥有的只是一个一边运行sinatra的应用程序,另一边运行一个事件机服务器。我不知道如何将sinatra应用程序作为websocket运行 例如,我想将其用作websocket: get '/' do #pull info from DB and display end 获取“/”do #从数据库中提取信息并显示 结束 感谢您的帮助 谢谢!Ruby 如何将sinatra作为websocket服务器运行?,ruby,html,sinatra,websocket,Ruby,Html,Sinatra,Websocket,我尝试过使用eventmachine,但我所拥有的只是一个一边运行sinatra的应用程序,另一边运行一个事件机服务器。我不知道如何将sinatra应用程序作为websocket运行 例如,我想将其用作websocket: get '/' do #pull info from DB and display end 获取“/”do #从数据库中提取信息并显示 结束 感谢您的帮助 谢谢! L.据我所知,这样做需要编写一个扩展或可能修改Sinatra,使用web套接字而不是http 如果我使用w
L.据我所知,这样做需要编写一个扩展或可能修改Sinatra,使用web套接字而不是http
如果我使用
ws.get
或ws.post
而不是get
或post
,我会编写一个扩展,通过在扩展中运行的EM websocket服务器路由请求我会推荐的。通过使用Thin,可以以某种方式使用相同的机架堆栈处理Sinatra和Websocket,但问题多于好处。如果您想了解我是如何做到这一点的,请查看:
现在,我正在移植应用程序,使用Rails 3.1实现“静态”页面和基于github.com/igrigorik/em websocket的brain simple quick后端。您是否检查了“”
来自维护者:
[…]它让您可以在相同的进程中在相同的服务器上运行websocket服务器
与西纳特拉港相同。[……]
Ruby 2.2.5,Sinatra 2.0.5,在2019年,将示例“echo”代码插入我的Sinatra应用程序的一个点中,效果很好。我对此表示怀疑,因为宝石已经好几年没有更新了,但它看起来仍然很好用!