Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Faye with Rails:Firefox上没有断开连接的消息_Ruby On Rails_Ruby On Rails 4_Websocket_Faye - Fatal编程技术网

Ruby on rails Faye with Rails:Firefox上没有断开连接的消息

Ruby on rails Faye with Rails:Firefox上没有断开连接的消息,ruby-on-rails,ruby-on-rails-4,websocket,faye,Ruby On Rails,Ruby On Rails 4,Websocket,Faye,我正在开发一个rails 4.2应用程序,使用gem'faye'、'~>1.0.3',gem'faye rails'、'~>2.0.0'和gem'faye redis'、'~>0.2.0',以及精简服务器 在Chrome上一切都很好。 除了用户断开连接,Firefox上的一切都很好。 我根据“/meta/disconnect/”频道上的传入消息和自制的超时来识别断开连接,但在Firefox上断开连接消息从未发送 调查 在卸载之前,我在Firefox上系统地发布了以下消息:“与ws://loca

我正在开发一个rails 4.2应用程序,使用gem'faye'、'~>1.0.3',gem'faye rails'、'~>2.0.0'和gem'faye redis'、'~>0.2.0',以及精简服务器

在Chrome上一切都很好。 除了用户断开连接,Firefox上的一切都很好。 我根据“/meta/disconnect/”频道上的传入消息和自制的超时来识别断开连接,但在Firefox上断开连接消息从未发送

调查

  • 在卸载之前,我在Firefox上系统地发布了以下消息:“与ws://localhosot:3000/faye的连接在页面加载时被中断”。它是否可以防止发送断开连接消息
  • 我注意到,如果禁用websocket(
    faye.disable('websocket')
    ,客户端),就会在Firefox上发送并捕获断开连接消息。即使在Firefox控制台中出现类似的错误消息(“页面加载时连接中断”)时,这种方法仍然有效。但如果我不得不禁止websocket,并想找到另一个更好的解决方案,我会非常难过
  • 在Chrome上,每次页面更改时,我都会向faye发出一个POST请求,然后是状态为101的GET请求(据我所知,这是正常行为);在Firefox上,我有相同的+另一个帖子(状态200)。除了切换协议请求(Firefox
    Connection=keep-alive,Upgrade
    ;Chrome
    Connection=Upgrade
    )之外,我看不出前两个版本之间有什么区别

我无法理解问题从何而来,如果是bug或配置问题,欢迎提供任何帮助。我很乐意提供任何有帮助的信息。

我对Firefox也有同样的问题/服务器从未接收到meta/disconnect。非常令人沮丧!在faye项目问题中,可以找到faye的创建者对此问题的答案()。他建议使用监视来捕获断开连接的事件,而不是消息。不幸的是,据我所知,监控API没有提供任何方法来获取消息数据(从而识别断开连接的用户)。