相关疑难解决方法(0)

当我在Unicorn服务器上运行时,Websockets在我的Rails应用程序中不起作用,但在瘦服务器上运行

我正在学习Ruby on Rails,在Heroku上使用WebSockets构建一个实时Web应用程序,但我无法弄清楚为什么在Unicorn服务器上运行时websocket连接失败.我将我的Rails应用程序配置为使用Procfile在本地和Heroku上运行Unicorn ...

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
Run Code Online (Sandbox Code Playgroud)

...我从当地开始$foreman start.在javascript中在客户端上创建websocket连接时发生故障...

var dispatcher = new WebSocketRails('0.0.0.0:3000/websocket'); //I update the URL before pushing to Heroku
Run Code Online (Sandbox Code Playgroud)

...在Chrome Javascript控制台中出现以下错误, 'websocket connection to ws://0.0.0.0:3000/websocket' failed. Connection closed before receiving a handshake response.

...当我在Heroku上的Unicorn上运行它时,我在Chrome Javascript控制台中收到了类似的错误, 'websocket connection to ws://myapp.herokuapp.com/websocket' failed. Error during websocket handshake. Unexpected response code: 500.

Heroku日志中的堆栈跟踪说, RuntimeError (eventmachine not initialized: evma_install_oneshot_timer):

奇怪的是,当我使用该命令在Thin服务器上本地运行它时,它工作正常$rails s.

我花了最近五个小时在线研究这个问题并没有找到解决方案.任何解决这个问题的想法,甚至是从我的工具中获取更多信息的想法,都将不胜感激!

javascript ruby-on-rails heroku websocket

7
推荐指数
1
解决办法
6064
查看次数

标签 统计

heroku ×1

javascript ×1

ruby-on-rails ×1

websocket ×1