我使用长轮询技术从一个其他服务器获取推送类型更新的Web应用程序。当chrome被最小化时,xhr请求超时
它运行setTimeout(),它执行一个函数,该函数执行xhr GET请求,超时时间为120秒。它还向服务器发送一个60秒的特殊“Accept-Wait”标头,告诉服务器何时回复200,客户端没有数据。然后客户端重复setTimeout。当客户端“登录”到服务器时,这将永远持续。
我有一个用户使用Chrome(他只能使用Chrome,所以我没有验证它是否可以在其他浏览器中重现,因为没有其他人可以重现此问题),当他最小化时,GET请求开始计时出。这看起来像我的longpoller像服务器关闭。
我已启用对其他服务器的调试,并确认它没有任何来自此用户的2分钟(似乎表明GET请求没有从浏览器中获取)。 我也在Chrome终端(F12)“网络”选项卡中观看过,请求在2分钟内“取消”,表示它们超时。 这个问题在使用“localhost”时也会重现,我认为它排除了网络问题。
如何获取有关Chrome的更多信息:为什么它不会让该用户的HTTP流量流出?
感谢
解决了吗? –
不......事实上,我前往现场拜访客户并进一步追究这个问题,但是当我到达时,他们再也无法再现问题了。 我相信这是一个网络问题,甚至是一些网络安全问题,与我的故障排除并行解决。 –