【发布时间】:2011-02-27 10:28:28
【问题描述】:
这专门针对 GWT 的 RequestBuilder,但也应该适用于一般的 XHR。我的公司让我通过 HTTP 构建一个近乎实时的聊天应用程序。是的,我确实意识到有更好的方法来进行聊天应用程序,但这正是他们想要的。最终我们希望它也能在 iPad/iPhone 上运行,所以 flash 已经不存在了,我认为这也排除了 websockets 和 comet?
无论如何,我遇到了一些问题,即我已将 GWT 的 RequestBuilder 超时设置为 10 秒,并且我们得到了非常随机和零星的超时。我们在服务器端进行了错误处理和电子邮件发送,并且从未收到任何错误,这表明 RequestBuilder 所基于的底层 XHR 请求永远不会到达服务器并在 10 秒后超时。
我们经常使用这些请求来轮询服务器以获取新消息,还用于向服务器发送新消息,并轮询(不那么频繁)应用程序的其他部分。我担心的是我们遇到了浏览器对同一域的并发连接限制(IE 默认为 2?)。
现在我的问题是 - 如果我构造一个 RequestBuilder 并调用它的 send() 方法并且浏览器阻止它发送,直到每个域的 2 个连接之一空闲,在请求被阻止或它会在浏览器真正释放底层 XHR 之前启动吗?
我希望这很清楚,如果没有,请告诉我,我会尽力解释更多。
【问题讨论】:
标签: gwt xmlhttprequest