2016/10/05
WebSocketを使ってチャットを作ってみる
WebSocketとは?
Webを閲覧する上でベースとなっているHTTPを拡張したものです。
多分HTTP 1.0では使えないはず。
チャット、SNSに多く見られる通知、オークションなどに使用されるケースが多い。
今回できなかったこと
プロジェクトに導入してみる
1 | rails new websocket_chat |
次にGemfileにWebSocketのgemを追記
1 | gem 'websocket-rails' |
1 | bundle install (--path vendor/bundlers) |
でgemのインストール。しばし待て。
これだけではWebSocketを使用可能な状態にしただけなので
プロジェクトにWebSocketを初期状態で組み込んであげます。
1 | rails g websocket_rails:install |
すると以下のように必要なプログラムを自動生成してくれます
1 2 3 | create config/events.rb create config/initializers/websocket_rails.rb append app/assets/javascripts/application.js |
1. config/events.rb
routes.rb と同じようなもの。
2. config/initializers/websocket_rails.rb
websocketの使用ポートなどの環境設定
3. app/assets/javascripts/application.js
既にあるアプリケーションでデフォルトで呼び出すjs。
ここにwebsocketに必要なパスがインポート追記されています。
スタンドアローン設定のために2番を以下のように設定
1 2 | config.standalone = true config.standalone_port = 3001 |
この状態でwebsocketを起動?出来ます。
bundle exec rake websocket_rails:start_server
確認
ps aux | grep websocket
root 29184 46.7 1.7 323928 67668 ? Rl 17:28 0:01 thin server (0.0.0.0:3001) [websocket_rails]
二行目のような表示が出れば無事動作してます。
しかしその先へは至らず…
gem ‘faye-websocket’, ‘0.10.0’
のように変えてみたのですが、特に変わりなく。。。
WebSocketのサーバーがすぐに終了してしまうので、この辺が後のヒントになると期待して追究していきます
Author Profile
スターフィールド編集部
SHARE