概要
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の使い方について
感謝。