Tag: websocket

带有Rails的Websockets(Puma) – WebSocket握手期间出错:意外的响应代码:200

我试图在我的Rails4.1应用程序中使用websocket 以下是一些相关的代码片段: 的Gemfile: gem ‘websocket-rails’ gem ‘puma’ development.rb config.middleware.delete Rack::Lock 我在本地启动服务器: bundle exec puma -p 3000 在chrome控制台中,我看到一个连接错误: new WebSocketRails(‘localhost:3000/post/hello’, true); WebSocket connection to ‘ws://localhost:3000/post/hello’ failed: Error during WebSocket handshake: Unexpected response code: 200 任何人都可以帮助我在Rails中本地使用Web套接字需要做什么? UPDATE1 当我在Unicorn服务器上运行时,我尝试按照我的Rails应用程序中不起作用的Websockets添加以下内容,但是在瘦服务器上运行但是它没有帮助 初始化/ eventmachine.rb Thread.new { EventMachine.run } unless EventMachine.reactor_running? && EventMachine.reactor_thread.alive

在Heroku上可以实现像websocket一样的实时行为吗?

我正在考虑在Rails中创建一个国际象棋应用程序,其中需要异步地将服务器从服务器推送到客户端浏览器(理想情况下使用websockets)。 但是,从我做过的很少的研究来看,Heroku似乎不支持websockets。 但是有一种替代方法可以使用socket.io配置为使用长轮询而不是websockets。 国际象棋的5分钟闪电战游戏是否足以实现延迟轮询?

websocket-rails,websocket握手错误

我关注了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,生成了安装,我成功设置了config.middleware.delete Rack::Lock in development.rb ; 我正在使用Rails 4。 我认为: var dispatcher = new WebSocketRails(‘0.0.0.0:3000/websocket’); 我进入了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, […]

在capybara-webkitfunction规范期间,ActionCable无法连接

我使用Capybara-webkit在function规范中使用actioncable时遇到问题。 Actioncable在我的开发服务器上工作得很好,但是当测试javascript似乎无法连接时。 这是我的function规范期间运行的javascript控制台的输出 WebSocket connection to ‘ws://127.0.0.1:32789/cable’ failed: Unexpected response code: 200 这是我当时test.log的输出 GET “/cable” for 127.0.0.1 at 2017-01-26 13:33:23 +0000 GET “/cable/” for 127.0.0.1 at 2017-01-26 13:33:23 +0000 Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 它奇怪,因为它似乎根据日志连接正常,但javascript抛出错误并停止执行…另外200如何错误代码? 200状态代码总是意味着OK ? 提前致谢

用于websocket-rails gem的Ruby websocket客户端

我正在开发一个rails网页,需要使用websocketfunction与外部ruby客户端进行通信。 为了做到这一点,我在rails服务器中使用websocket-rails gem,定义client_connected client_disconnected事件以及从客户端接收消息的特定操作(new_message)。 在客户端,我尝试使用不同的rubygem,如faye-websocket-ruby和websocket-client-simple,但在尝试发送消息时总是会出错。 在服务器上,我找不到处理这些消息的方法。 两个gems都有一个send方法,只接受一个字符串(不能指定事件的名称) 我一直在使用的代码如下: 服务器端 应用程序/控制器/ chat_controller.rb class ChatController < WebsocketRails::BaseController def new_message puts ')'*40 end def client_connected puts '-'*40 end def client_disconnected puts '&'*40 end end 配置/ events.rb WebsocketRails::EventMap.describe do subscribe :client_connected, :to => ChatController, :with_method => :client_connected subscribe :message, :to => ChatController, :with_method => :new_message subscribe :client_disconnected, :to => […]

如何在API和Rails应用程序之间创建全双工通信?

我有一个video转码API和一个消耗它的CMS应用程序。 工作流程如下: CMS向API发送GET请求以获取要转码的列表video文件,并以JSON格式获得答案。 CMS用户选择要转码的文件并单击“转码”按钮。 当用户单击该链接时, POST请求将转到API,API会在内部创建必要的Progress es,并以JSON格式响应初始状态。 在API上创建Progress es后,我向API发出GET ajax请求,定期询问当前进程状态。 因为我需要向用户显示转码过程的当前状态(如百分比……)。 另外,我还有一些其他资源可以通知CMS有关当前状态的信息。 这时,我在5秒钟内对API进行一次ajax调用。 这是一个问题: 这是最好的方法吗? 有没有办法在API和Rails应用程序之间创建全双工通信? 我尝试过pusher和推送通知但看起来它们只是用于前端通信? 这是真的? 我听说过websocket但我找不到一个好的资源来完全理解它。 Rails社区获得批准的方式是什么? 谢谢

Rails API + AngularJS + Websocket-Rails gem

我的服务器正在运行websocket-rails gem来处理websockets。 我在使用带有角度的phonegap项目的websocket-rails时遇到了麻烦,因为我需要在我的Angular前端初始化websocket-rails客户端,而不依赖于rails资产管道。 是否可以将websocket-rails客户端单独加载到角度项目中? 或者我可以使用角度套接字指令来管理带有websocket-rails的套接字?

Ruby on Rails推送通知

是否有任何gem,我可以使用任何东西在Rails应用程序中将通知从服务器推送到Web应用程序? 这意味着不必不时调用ajax请求。 ::更新::忘了提到一个重要的要求,即我正在使用Rails 3.2

从iOS应用程序连接到ActionCable

我整天都被困在这一天。 我有David Heinemeier Hansson非常简单的ActionCable示例应用程序(聊天应用程序)正常工作( https://www.youtube.com/watch?v=n0WUjGkDFS0 )。 我试图用iPhone应用程序点击websocket连接。 当我连接到ws://localhost:3000/cable时,我能够收到ping,但我不太确定如何从javascript上下文之外订阅频道。

正在使用Rails 5 ActionCable

我正在玩新的ActionCablefunction。 有没有办法使用say socket.io或使用React或ReactNative从应用程序与ActionCable服务器通信? 也许我对ActionCable的正确使用感到困惑,它并不打算用作代替API的替代品,而是用作同一应用程序的支持前端技术。 如果可能的话,任何使用ActionCable作为独立WS服务器的好例子或指南都将受到赞赏。