タグ

websocketとrubyに関するclavierのブックマーク (4)

  • Railsでチャット機能を実装する方法(実装編) - Qiita

    チャット機能を実装する場合、WebSocketを使う、Server Sent Event(SSE)を使う、Pusherなどのサービスを活用するなど、いくつかの方法がありますが、私のケースでは、WebSocketを使うのが最もマッチしていたので、WebSocketを利用することを考えます。この辺の選定についてはまた別途まとめたいと思います RailsでWebSocketを使う場合、websocket-railsを使うのが、手っ取り早くて良いのではないかと思います そこで、websocket-railsでの、チャネル、プライベートチャネル、セキュリティ、認証あたりの関係性が分かりにくかったので、自分なりに整理してみました websocket-railsの基的な使い方 Event Routerへのイベントの追加 JSクライアントからのリクエストをRailsのコントローラーとマッピングしている

    Railsでチャット機能を実装する方法(実装編) - Qiita
  • Ruby製WebSocketアプリを最速でHerokuにデプロイする5つのステップ

    テレビ放送が駄目になった」と言われて久しいですがその理由ははっきりしています。それは放送というものがリアルタイム・コンテンツを扱う媒体だからです。リアルタイム・コンテンツはユーザの自由を奪います。ある番組を見るためにユーザはその時間テレビの前に固定化されます。録画放送番組は字義的にはバッファード・コンテンツ1と言えますが、ユーザがそのコントロール権を持っていないつまりその視聴タイミングの制御を製作者側が持っているので、これはリアルタイム・コンテンツなのです。ユーザの唯一の武器はDVDレコーダによる制約の中のローカルバファリングのみです。 現在のWebは主としてバッファード・コンテンツを扱う媒体です。バッファード・コンテンツの世界ではユーザは好きな時間に好きなだけコンテンツを視聴できるという自由が与えられます。コンテンツの製作者側・提供者側にそのタイミングをコントロールする自由はありません

    Ruby製WebSocketアプリを最速でHerokuにデプロイする5つのステップ
  • 橋本商会 » em-websocketで1万クライアント以上さばく方法

    em-websocketの接続数の上限が1015ぐらいなんだけど増やせた。forkとかは使わない。 環境はUbuntu12.04。 Macはepoll使えないので無理。 まずこちらを参考にファイルディスクリプタの上限を増やしておく。 ファイルディスクリプタの上限値を増やす – そ、そんなことないんだから! で、EM::runの前にepollを使うようにしてset_descriptor_table_sizeを設定すればおk require 'eventmachine' require 'em-websocket' EM.epoll EM.set_descriptor_table_size 60000 EM::run EM::WebSocket.run :host => "0.0.0.0", :port => 8080 do |ws| ## 略 end end クライアント側はem-webso

  • 橋本商会 » Sinatra RocketIOというプラグイン作った、これでWebSocketとCometが使える

    nodeのSocket.ioっぽい物のRuby版を作った。 https://github.com/shokai/sinatra-rocketio 依存 EventMachineが有効なWebサーバー(thinとか)と、jQueryが必要。 Rubyは1.8.7〜2.0.0まで動く。 Sinatraで使う インストール gem install sinatra-rocketio ブラウザとか回線に応じてWebSocketとCometの使える方が自動的に選ばれる。 切断されても定期的に再接続を試みるようになってる。 sinatraに読みこむだけで使える。sinatraのプロセス内にwebsocketサーバーも組み込まれる。 require 'sinatra' require 'sinatra/rocketio' modular styleではclass内でregisterすればok class

  • 1