2010-12-05 40 views
2

我尝试过使用eventmachine,但我拥有的是一侧运行sinatra和另一侧运行事件机器服务器的应用程序。我无法弄清楚如何将一个sinatra应用程序作为websocket运行。如何将sinatra作为websocket服务器运行?

例如,我想为这是一个WebSocket的:

 
get '/' do 
    #pull info from DB and display 
end 

任何帮助表示赞赏。

谢谢! L.

+3

http://stackoverflow.com/questions/2999430/any-success-with-sinatra-working-together-with-eventmachine-websockets – Chirantan 2010-12-05 03:57:49

回答

0

根据我的理解,这需要编写一个扩展或可能修改Sinatra它是自我使用web-sockets而不是http。

我会写的路由通过EM的WebSocket服务器的请求中端运行的扩展,如果我使用扩展ws.getws.post insted的,如果只是getpost

0

我已经一直沿着这条路走,但这不是我会推荐的。使用Thin可以使用相同的Rack堆栈来处理Sinatra和Websocket,但是存在更多的问题而不是优点。如果你想看看我是怎么做的,看看:

https://github.com/HakubJozak/mana/blob/before-sinatra-removal/config.ru

现在我居然移植应用程序使用Rails的3.1“静态”页面和大脑简单快捷后端基于github.com/igrigorik/EM-的WebSocket。

3

您是否检查“sinatra-websocket”?

从维护者:

[...]这让你运行在相同的工艺和 相同的端口西纳特拉在WebSocket的服务器。 [...]