websocket-rails,websocket握手错误
Posted
技术标签:
【中文标题】websocket-rails,websocket握手错误【英文标题】:websocket-rails, websocket handshake error 【发布时间】:2013-12-08 22:22:27 【问题描述】:我遵循了 websocket-rails github wiki 页面上的文档,但无法克服这个困难,我在 chrome 中遇到了这个错误:
WebSocket connection to 'ws://0.0.0.0:3000/websocket' failed: Error during WebSocket handshake: Unexpected response code: 301
我安装了websocket-rails
gem,生成安装,我在development.rb
中设置成功config.middleware.delete Rack::Lock
;我正在使用 Rails 4。
我进入了视野:
<script type="text/javascript">
var dispatcher = new WebSocketRails('0.0.0.0:3000/websocket');
</script>
我收到了我的chat_controller.rb
:
class ChatController < WebsocketRails::BaseController
def initialize_session
puts "Session Initialized"
end
def user_connected
puts 'user connected'
end
end
在我的events.rb
:
WebsocketRails::EventMap.describe do
subscribe :client_connected, :to => ChatController, :with_method => :user_connected
end
如您所见,我的目标是每次有人进入页面时在我的瘦服务器控制台中显示“会话已初始化”和“用户已连接”。在这之间,我使用bundle exec thin start
运行服务器,但我得到了一个 javascript 错误(websocket 连接失败错误 301)。
【问题讨论】:
【参考方案1】:感谢 Websocket Rails IRC 的成员,我发现在我的路线中,我在每条路径之前都附加了语言环境,所以它找不到它。
如果有人也遇到了这个问题,请查看您的 routes.rb
!
【讨论】:
routes.rb 是否会为ws
协议路由?以上是关于websocket-rails,websocket握手错误的主要内容,如果未能解决你的问题,请参考以下文章
Rails 4 + Websocket-rails + Passenger + Nginx + 负载均衡器