2010-12-05 4 views
2

Ich habe versucht mit eventmachine, aber alles, was ich habe, ist eine Anwendung mit sinatra auf der einen Seite und einem Event Machine Server auf der anderen Seite. Ich kann nicht herausfinden, wie man eine Sinatra-Anwendung als eine Websocket ausführt.Wie kann man Sinatra als Websocket Server betreiben?

Zum Beispiel möchte ich dies als websocket dienen:

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

Jede Hilfe sehr geschätzt wird.

Danke! L.

+3

http://StackOverflow.com/Questions/2999430/Analy-Success-with-sinatra-working-together-with-eventmachine-websockets – Chirantan

Antwort

0

Von dem, was ich verstehe, würde dies erfordern schreiben eine Erweiterung oder möglicherweise Sinatra ändern es selbst zu verwenden Web-Sockets anstelle von http.

Ich würde eine Erweiterung schreiben, leitet die Anforderung durch einen EM websocket Server in Seite läuft die Verlängerung, wenn ich ws.get oder ws.post insted wenn nur get oder post

0

verwenden Ich habe Ich war auf dieser Straße, aber ich würde es nicht empfehlen. Es ist möglich, dass der gleiche Rack-Stack sowohl Sinatra als auch Websocket mit Thin behandelt, aber es gibt mehr Probleme als Vorteile. Wenn Sie sehen wollen, wie ich es tat, schauen:

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

Jetzt bin ich tatsächlich die App Portierung Rails verwenden 3.1 für „statische“ Seiten und Gehirn einfach schnelle Backend basierend auf github.com/igrigorik/em-Websocket.

3

Haben Sie "sinatra-websocket" überprüft?

Vom Betreuer:

[...] Es ist können Sie die WebSocket-Server im gleichen Prozess laufen und auf dem gleichen Port wie Sinatra. [...]