socket.io を使用するノード アプリケーションを Ruby on Rails アプリケーションに変換したい場合、socket.io を置き換えるオプションは何ですか? (基本的にRubyのソケットサーバーを探しています)
以下のアプリケーションを翻訳する予定です: http://www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/
socket.io を使用するノード アプリケーションを Ruby on Rails アプリケーションに変換したい場合、socket.io を置き換えるオプションは何ですか? (基本的にRubyのソケットサーバーを探しています)
以下のアプリケーションを翻訳する予定です: http://www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/
Faye Ruby の実装は、堅実なサーバー側のリアルタイム コンポーネントとしてお勧めします。これは socket.io の直接の移植ではありませんが、リアルタイム インフラストラクチャを提供し、ほとんどのリアルタイム アプリケーションの移植に役立つ明確に定義されたメッセージングの概念を提供します。
その他のオプションについては、リアルタイム Web テクニカル ガイドを参照してください。
Plezi フレームワークを見ましたか?
別のフレームワークとして使用することも、websocket 機能を追加して Rails/Sinatra を強化することもできます。
Iodineサーバーを使用して実行され、ネイティブ Websocket、RESTful ルート、および HTTP ストリーミングをサポートするため、Web ソケットが機能しない場合に socket.io が行うのと同じように、ロングプルなどのフォールバック ポジションを簡単に設定できます。
面白くて簡単に開発でき、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 コンソールにコードを入力すると、コマンドを使用して irb を終了した瞬間にサーバーが起動しますexit
。
Ruby を含む多くのラッパーが含まれているPubnubを強くお勧めします。
ドキュメンテーションは非常に理解しやすく、多くのチュートリアルがあります。
ラズベリーパイ プロジェクトを含む多くの Rails プロジェクトで Pubnub を使用してきました。
Rails 5 には ActionCable が組み込まれました。これは、websocket が Rails の標準になったことを意味します!