并发的AJAX间隔轮询

4

除了对服务器造成明显的负载外,同时进行几个并发的AJAX轮询是否有害?或者浏览器/服务器能够处理的限制是多少?

示例(所有AJAX轮询):

  • 函数A每3秒一次轮询全局聊天系统的新消息(类似于Facebook / MySpace)。

  • 函数B每2秒一次轮询更新和显示用户操作(例如在线扑克应用程序)。

  • 函数C每4秒一次轮询,但也会为单独的消息系统拉取新消息。


请问您能告诉我如何同时进行多个Ajax调用吗? - Sadiksha Gautam
3个回答

3
浏览器过去每个域名只能同时连接4个(或在早期情况下是2个)。现代浏览器大多已将此上调至6或8(根据我的测试和一些支持性阅读)。
因此,长轮询连接可以占用浏览器中的这些插槽,并可能阻止其他东西快速下载。
否则,它可能会成为网络带宽的负担,对于使用慢速连接(如拨号或蜂窝网络)的人来说尤其如此。
可能还有其他缺点,但这是我看到的两个重要问题。

0

我发现一些移动设备(例如iPad)在有多个未决的xhr请求时会出现问题。


0

你永远不应该同时需要超过两个活动的AJAX连接。要么你使用长轮询,例如服务器响应头部但在有数据要传递时发送实体主体。

如果你运行像上面描述的A、B、C轮询方案,你可以使用一个AJAX线程来交替处理这3个请求,但是设置超时值为下一个请求间隔。你创建一个想象的时间线,在其中使用一个单独的AJAX线程将你的请求分配给A、B和C。


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