2013-08-09 9 views
12

socket.ioを使用するノードアプリケーションをRuby on Railsアプリケーションに変換する場合、socket.ioを置き換えるオプションは何ですか?下記のアプリケーションを翻訳する(基本的にはRuby用のソケットサーバを探して)Node.jsのsocket.ioに相当するRubyとは何ですか?

http://socket.io/

プラン: http://www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/

+1

あなたは実際にあなたのRailsサーバー上にNode.JSを持っていて、Socket.io(Node.JSはウェブソケットを扱うのに最適です)を使用することができます。 – MrYoshiji

+0

@MrYoshijiこれを行う方法があると思いましたが、 私は何とかサーバー間でデータを渡すことができると仮定しました... XML?JSON?しかし、私は確信していない – Pinky

答えて

7

私は固体、サーバー側のリアルタイムコンポーネントとしてFaye Ruby implementationをお勧めします。これはsocket.ioの直接ポートではありませんが、リアルタイムのインフラストラクチャを提供し、ほとんどのリアルタイムアプリケーションの移植に役立つメッセージングの概念を定義しています。

realtime web tech guideでさらに多くのオプションを見つけることができます。

+0

参考に感謝、あなたはクランプに精通していますか? http://cramp.in/ – Pinky

+0

残念ながら私はCrampに慣れていません。 – leggetter

1

Plezi frameworkを見ましたか?

別のフレームワークとして使用することも、augment Rails/Sinatra by adding websocket functionalityに使用することもできます。

Iodineサーバを使用して実行され、ネイティブWebソケット、RESTfulルート、HTTPストリーミングをサポートしているため、Webソケットが動作しない場合と同様に、long-pullingなどのフォールバックポジションを取るのは簡単です。

Redisを使って開発するのは面白くて簡単なので、プロセスとマシンの間でwebsocketブロードキャストが可能です...まだ開発中ですが、潜在的可能性は十分です。

放送/エコーのWebSocketアプリは次のようになります。

require 'plezi' 

class Echo 

    def index 
    "this is an echo server - use websockets to connect. test with: https://www.websocket.org/echo.html" 
    end 

    def on_message data 
    _echo data 
    broadcast :_echo, data 
    end 

    def _echo data 
    response << data 
    end 
end 

Plezi.route '/', Echo 

は、あなたが実際にIRBコンソールにコードを置くことができ、サーバーがexitのコマンドを使用して、あなたはIRBを終了した瞬間を開始します。

1

Pubnubを強くお勧めします。これには、ルビーを含む多くのラッパーがあります。

ドキュメンテーションは本当に簡単で、多くのチュートリアルがあります。

私はラズベリーパイプロジェクトを含む多くのレールプロジェクトにPubnubを使用しました。

Rails 5にActionCableが組み込まれました。これは、WebソケットがRailsの標準となっていることを意味します。

+2

PubNubはウェブ作業のために非常に高価です。あなたが1日100ユニーク以下になるなら、あなたは無料プランでうまいですが、それを超えて、あなたは最低プラン$ 149/mo **にぶつかります。その計画を超過すれば、$ 399/mo **に上がります。これは、$ 15/moのような小さな計画を立てた1年前とは異なります。 – deefour

関連する問題