我尝试过使用eventmachine,但我拥有的是一侧运行sinatra和另一侧运行事件机器服务器的应用程序。我无法弄清楚如何将一个sinatra应用程序作为websocket运行。如何将sinatra作为websocket服务器运行?
例如,我想为这是一个WebSocket的:
get '/' do #pull info from DB and display end
任何帮助表示赞赏。
谢谢! L.
我尝试过使用eventmachine,但我拥有的是一侧运行sinatra和另一侧运行事件机器服务器的应用程序。我无法弄清楚如何将一个sinatra应用程序作为websocket运行。如何将sinatra作为websocket服务器运行?
例如,我想为这是一个WebSocket的:
get '/' do #pull info from DB and display end
任何帮助表示赞赏。
谢谢! L.
根据我的理解,这需要编写一个扩展或可能修改Sinatra它是自我使用web-sockets而不是http。
我会写的路由通过EM的WebSocket服务器的请求中端运行的扩展,如果我使用扩展ws.get
或ws.post
insted的,如果只是get
或post
我已经一直沿着这条路走,但这不是我会推荐的。使用Thin可以使用相同的Rack堆栈来处理Sinatra和Websocket,但是存在更多的问题而不是优点。如果你想看看我是怎么做的,看看:
https://github.com/HakubJozak/mana/blob/before-sinatra-removal/config.ru
现在我居然移植应用程序使用Rails的3.1“静态”页面和大脑简单快捷后端基于github.com/igrigorik/EM-的WebSocket。
http://stackoverflow.com/questions/2999430/any-success-with-sinatra-working-together-with-eventmachine-websockets – Chirantan 2010-12-05 03:57:49