GWT在IE8中超时12002

4
我们在使用IE8(XP下)和IE9(7下)进行几个RPC GWT调用时遇到了一个bug。最终,其中一个调用会触发服务器响应重置(RST),而应用程序会一直等待结果,直到收到12002 http错误(12002似乎表示超时),需要等待几分钟。

一些关键点:

  • 我们无法在其他浏览器中复现此bug。
  • 我们已经使用prototype.js在ie8中触发了数百个相同的RPC调用,但从未失败过!因此,我们只能在gwt代码内部复现它。
  • 这是一件随机的事情。有时距离第一个调用仅三秒钟,有时则是三分钟后才出现。
  • 在拥有windows server 2003的客户端中,http错误代码为12030,且立即出现。

RST problem

有任何想法吗?

1个回答

4
这不是GWT的问题,而是一个AJAX问题。我还看到在FF中也会出现这个问题。但是IE嵌套回调确实加剧了这个问题。
下面的链接确实有所帮助,但它并没有完全解决问题。 为什么IE使用jQuery post时会发出随机的XHR 408/12152响应?建议如果您关闭每个请求的servlet的HTTP连接,问题将得到解决。
当我们转移到Server 2008/Tomcat时,问题消失了。对于Server 2003,IIS充满了错误。 此链接也很有用

我尝试从服务器发送“Connection:close”,但它一直挂起...我们不知道还能做什么... - ramon_salla
3
断开连接对我有所帮助,另一件有帮助的事情是消除嵌套回调,尽可能使用GET。2008年的服务器是最大的改进,有一个链接可以很好地解释这个问题,但问题是当前请求在完成之前会重置先前的请求。导致这种情况的原因可能是XMLHTTPRequest + POST + 服务器配置的组合。尝试使用另一个HTTP服务器进行测试可能有所帮助。 - Spiff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接