21449


web-socketの勉強をしており、以下の記事を参考に実装をしておりました。  
<http://ithijikata.hatenablog.com/entry/2014/03/06/021948>

実装と言っても、ソースをcloneして、動作を確認していました。

しかし、動作が上手くいかず、javascriptコンソールには以下のエラーがでておりました。

[code]

    WebSocket connection to 'ws://localhost:3000/websocket' failed: Connection closed before receiving a handshake response
    
[/code]

websocketのコネクションが上手くつながらなかったみたいです。

スタンドアローンモードみたいなやり方もありましたので試しました。

[code]

    vi config/initializers/websocket_rails.rb
    config.standalone = true
    config.standalone_port = 3001
    
    
    $ bundle exec rake websocket_rails:start_server
    
[/code]

しかし、ダメでした。

原因がわからず、詰まっております。

ご共有頂けると幸いです。  
宜しくお願いします。


CC BY-SA 3.0
2016-01-26T02:40:47.497
21313
2016-01-28T12:01:05.567
13175
question
ruby-on-rails websocket
websocketのコネクションがつながらず、javascriptコンソールエラーがデております。


Standalone-Server-Modeで実行する為にはredisのインストールと起動が別途必要になります。  
<https://github.com/websocket-rails/websocket-rails/wiki/Standalone-Server-
Mode>

websocket_rails.rb設定例

[code]

        config.standalone = true
        config.standalone_port = 3001
        config.redis_options = {driver: :ruby}
        config.synchronize = false
        config.redis_options = {:host => 'localhost', :port => '6379'}
    
[/code]

ここも参考になるかもしれません。  
<http://altarf.net/computer/rails/2502>


CC BY-SA 3.0
2016-01-26T14:26:17.760
21345
2016-01-26T14:26:17.760
10712
21313
answer


[websocket-rails 0.7.0 thin 1.6.4 / Handshake times
out](https://github.com/websocket-rails/websocket-rails/issues/379) に回答がありました。

[code]

    # Gemfile
    gem 'faye-websocket', '0.10.0'
    
[/code]

を追記し、bundle をアップデートしてください。

[code]

    $ bundle update faye-websocket
    
[/code]

サーバを起動すれば行けるはずです。

[code]

    $ bin/rails s 
    
[/code]

`ruby 2.3.0` で試しました。

蛇足かもしれませんが、`ruby 2.2.2
を使っていて、bundleに失敗している`ということがわかれば、もう少し早く回答出来たと思うので、何かを質問される時は、できるだけ情報を提供することをオススメします。


CC BY-SA 3.0
2016-01-28T12:01:05.567
21449
2016-01-28T12:01:05.567
7471
21313
answer