LoginSignup
8
7

More than 5 years have passed since last update.

websocket-railsでコネクションが張れない

Posted at

動かない

websocketをいい感じにrailsで扱えるようにしてくれる、websocket-rails。

Gemfile
gem 'websocket-rails'

して、bundle installして云々。
導入記事を参考に写経してみたけれど、まったくうんともすんとも言わない。

logを見ると、

log/websocket_rails.log
I [2015-11-29 15:29:35.322] [ConnectionManager] Connection opened: #<Connection::93f2bb052bac280682f9>
I [2015-11-29 15:29:46.407] [ConnectionManager] Connection closed: #<Connection::93f2bb052bac280682f9>

こんな調子で、establishedになる前に、タイムアウトしてコネクションが張れてない。
ブラウザ側は、 ws://192.168.xx.xx:3000/websocket への接続に失敗しました。 とか言ってくる。

試したこと

  • iptables OFFにしてみた。 -> 元からOFFだった
  • VMWareの中のサーバーだったので、VMWareの中から繋いで試してみた。 -> だめっぽい
  • webrickはwebsocketに対応してないかも? と思いthinにしてみた。 -> 変わらない
  • standaloneモードで起動してみる。 -> やはり繋がらない。
  • サンプル(https://github.com/84yeti/websocketTest)をcloneしてきて試した。 -> 動いたぞ!

なんで手元のプロジェクトでは動かないのか...ひたすらdiffを試す作業。

原因

原因は、faye-websocketの仕様変更のようだ。faye-websocket v0.10.0までなら動く。
まじかよ...

対処

よって

Gemfile
gem 'websocket-rails'
gem 'faye-websocket', '0.10.0'

たわごと

ライブラリ書くときは、ちゃんと依存バージョン書こうね!!!

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7