Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何将sinatra作为websocket服务器运行?_Ruby_Html_Sinatra_Websocket - Fatal编程技术网

Ruby 如何将sinatra作为websocket服务器运行?

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

我尝试过使用eventmachine,但我所拥有的只是一个一边运行sinatra的应用程序,另一边运行一个事件机服务器。我不知道如何将sinatra应用程序作为websocket运行

例如,我想将其用作websocket:

get '/' do #pull info from DB and display end 获取“/”do #从数据库中提取信息并显示 结束 感谢您的帮助

谢谢!
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应用程序的一个点中,效果很好。我对此表示怀疑,因为宝石已经好几年没有更新了,但它看起来仍然很好用!