并发AJAX间隔轮询

时间:2009-09-23 07:08:57

标签: ajax polling

除了服务器上明显的重负荷之外,同时进行几个并发的AJAX民意调查是不是很糟糕?或者是否有关于浏览器/服务器可以处理的限制?

示例(所有AJAX轮询)..

  • 功能A以3秒的间隔拉动全局聊天系统(如Facebook / MySpace)的新消息。

  • 功能B的间隔为2秒,用于提取更新以及向用户显示的操作(例如在线扑克应用程序中)。

  • 功能C处于4秒内部,但也为单独的消息传递系统提取新消息。

3 个答案:

答案 0 :(得分:3)

浏览器过去每个域的并发连接数限制为4(或者实际上是旧的情况2)。大多数现代浏览器已将其增加到6或8(基于我自己的测试和一些支持阅读)。

因此,长轮询连接会占用浏览器中的这些插槽,并可能会阻止其他内容快速下载。

否则,对于慢速连接(拨号或蜂窝网络)的用户而言,这可能是带宽负担。

可能还有其他缺点,但这些是我看到的两个大问题。

答案 1 :(得分:0)

您永远不应该同时需要两个以上的活动AJAX连接。您要么进行长轮询,例如服务器使用标头进行响应,然后在有数据要传递时发送实体主体。

如果您使用A,B,C上面描述的轮询方案运行,您可以使用一个在3个请求之间切换的AJAX线程,但将超时值设置为下一个请求间隔。您创建了一个假想的时间轴,您可以使用一个AJAX线程将请求分发到A,B和C。

答案 2 :(得分:0)

我发现一些移动设备(例如iPad)在多个待处理的xhr请求中窒息。