2010-11-22 10 views
8

WebSocket実装と統合したいAsynchronous version of Rails 3を作成しました。ラックとイベントマシンを使用したWebSocketとRailsの統合

私はEventMachine、Ruby 1.9、Fibers、さまざまなem-flavoredライブラリを使用しています。これは、愚かなことによるとIlya Grigorikと書かれています。

私はem-websocketをWebSocket接続のハンドラとして見てきましたが、これをRailsアプリケーションにフックするための最良の方法は不明です。

理想的には、これは、ExpressとSocket.ioとのNode.jsと同様に動作します - 着信接続が検出さのWebSocketハンドラにディスパッチまたは通常のレールがスタックされるべきHTTPヘッダにより示されるように&など

TL、既存のRailsアプリケーションにプラグインするDR

  • のWebSocketハンドラ
  • が透過たぶんsockyを試しアプリ
+1

回答を希望する一連の具体的な箇条書きに質問を分解すると考えられます。 – kanaka

答えて

1

内のエンドポイントへの着信のWebSocket要求をディスパッチ?今のところ最高ですし、それをRails(2と3の両方)と統合するのはかなり簡単です。

+0

クール、見てみましょう –

+0

ソッキーはかなりクールですが、かなりレールとスタックに統合されていないExpressとSocket.ioがあります。もっと緊密にRailsに巻き込まれたものの基礎として、それを使うことができるかもしれません。 –

2

チェックアウトSkinny

Thinを使用する必要がありますが、途中でHTTPリクエストをアップグレードすることはできます。私はSinatraアプリで使用しますが、Railsでも簡単に使用できます。

5

私はこの質問が古いことを知っていますが、うまくいけば、この回答はGoogleからここに向けられている人に役立つかもしれません。

私は元の質問の2つの主要な基準を満たす宝石に取り組んでいます。この宝石はwebsocket-railsと呼ばれ、Railsアプリケーションの中でWebSocketを使いこなすために開発されました。最終的には安定したリリースになっていますが、必要と思われる機能はずっと多くあります。

現在、イベント処理は非常に基本的です。クライアント側イベントをroutes.rbファイルと同様のコントローラアクションにマップするファイルはevents.rbです。 /websocketへのすべてのリクエストは、別個のサーバープロセスを必要とせずに組み込みWebSocketサーバーに渡されます。

最終的にRailsをより伝統的なMVCパターンに移行することで、モデルを処理および更新するためにクライアントブラウザ上のイベントが自動的にクライアント上でトリガーされ、レンダリングを更新しますそのモデルの表現。

フィードバックは高く評価されます。

関連する問題