我正在进行彗星长轮询以从服务器检索通知。快速请求新页面时会出现严重延迟。长轮询请求保持60秒。我非常有信心因为IE7正在等待这些请求完成。如果我在注册表中添加MaxConnectionsPerServer值,则延迟消失。
我尝试在窗口卸载时对ajax请求调用abort,但是没有用。我有警报,以确保正在调用中止。
我还能做什么?
答案 0 :(得分:3)
你是对的,问题是由于IE中的2连接限制。
您最好的选择是将长时间保留的请求移动到不同的域(或子域),这将绕过连接限制。进一步考虑这个想法,您可以使用带有通配DNS的随机子域来使解决方案更好。
请注意,这会对您的代码产生安全隐患,因为所有当前浏览器都会默认阻止跨域请求。您的解决方法可能包括cross-site HTTP requests,JSONP和各种HTML5功能,例如postMessage。
我已经更详细地描述了这个问题here。