Rails
websocket

faye-websocketのバージョンによっては、websocket-railsが動かない

More than 3 years have passed since last update.


概要

websocket-railsのサンプルアプリを動かそうとしてハマったのでメモ

ruby 2.2.2

rails 4.2.6

websocket-rails 0.7.0 712fd4e


(先に)結論

gem 'faye-websocket', '0.10.0'

として

bundle update

(初めにbundle installしたときにfaye-websocketが'0.10.3'でロックされてしまっていたため、bundle updateする必要があった)


現象、経緯

websocket-railsの簡単なサンプルをいくつか試した際、dispatcherの.triggerに反応しないものがあった。

websocket_rails.logを見ると、Connection openedはしているが、その後

js側でのtrigger()呼び出しには反応しておらず、openedから20秒後または30秒後にConnection closedしていた。

"websocket-rails connection closed"などとググって、下記「参考」に記載のissueを見つけた。

(ついでに、Gemfile.lockの意味が分かっていなかったので余計にはまった)


参考

websocket-rails 0.7.0 thin 1.6.4 / Handshake times out #379

実装しようとしたサンプル: 第14回 WebSocketでサーバプッシュ その3

Gemfile.lockの意味:bundle installとupdateの使い方について

感謝。