Ruby on rails 握手过程中Websocket Rails获得404

Ruby on rails 握手过程中Websocket Rails获得404,ruby-on-rails,ruby,websocket,websocket-rails,Ruby On Rails,Ruby,Websocket,Websocket Rails,我安装了“websocket rails”gem,在完成默认配置后,我刚刚创建了一个JS调度程序,在chrome控制台上出现了404错误 这是我的JS: var dispatcher = new WebSocketRails('localhost:3000/websocket'); 这是我得到的信息: 到“ws://localhost:3000/WebSocket”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:404 其他所有内容均如《第一步指南》所示 event

我安装了“websocket rails”gem,在完成默认配置后,我刚刚创建了一个JS调度程序,在chrome控制台上出现了404错误

这是我的JS:

var dispatcher = new WebSocketRails('localhost:3000/websocket');
这是我得到的信息:

到“ws://localhost:3000/WebSocket”的WebSocket连接失败:WebSocket握手期间出错:意外响应代码:404

其他所有内容均如《第一步指南》所示

events.rb

subscribe :test, :to => ChatServerController, :with_method => :test
controller/chat_server_controller.rb

class ChatServerController < WebsocketRails::BaseController
  def initialize_session
    # perform application setup here
    controller_store[:message_count] = 0
  end

  def test
      puts 'Hello'
  end
end
class ChatServerController
有一个可能的解决方案涉及gem依赖关系。但是,如果你看一下回购协议(151次公开发行,27次提货请求),看起来这个创业板并没有得到积极维护。2016年已发行的债券正由发行人关闭

您可以通过包含第二个参数(设置为false)使应用程序正常工作

var Dispatcher = new WebSocketRails('localhost:3000/websocket', false);

我担心使用http轮询的可伸缩性以及websocket rails gem的未来。对我来说,最好的办法似乎是升级到Rails 5并使用它

考虑到你的新问题,这个问题仍然有效吗?如果你自己找到了解决问题的方法,请考虑帮助别人解决类似的问题,你自己回答这个问题,接受它。你说得对。不幸的是,我没有设法解决这个问题,而是使用private_pub()实现了该功能的新版本。谢谢您花时间。正如您所说,gem尚未更新,我只是在不同的环境中安装它时发现了一个关键的困难。我使用了一个不同的gem(private_pub),现在我可以使用这个功能了。