后续AJAX调用之间的最短时间

时间:2008-10-30 19:37:59

标签: javascript html ajax

在需要定期轮询服务器的AJAX应用程序(如聊天应用程序)中,建议两次调用之间的最短时间是多少,以便尽快完成更新?什么时候被认为是服务器和客户端的生猪?

4 个答案:

答案 0 :(得分:2)

这个问题的答案在很大程度上取决于:

  1. 每次投票中发送了多少数据
  2. 您一次在线有多少用户
  3. 服务器可以处理多少带宽
  4. 客户端上的数据需要“新鲜”
  5. 如果不了解您的应用的任何具体细节,那么很难给出好的推荐。您是否研究过客户端连接到服务器的方法,并且服务器保持连接打开,直到有可用数据为止?然后服务器传递数据,客户端立即重新连接并再次等待。开始工作可能很棘手,但您可以通过这种方式最大限度地提高带宽效率和响应速度。

答案 1 :(得分:2)

我们在聊天中有一个不同的AJAX轮询解决方案:

请求被发送到服务器并以非常短的延迟间隔(如0.5秒)循环轮询服务器端上的数据。获得的数据是,请求返回。然后,下一个请求立即发送到服务器。所有请求的超时设置为60秒,当它到期而没有获取数据时,下一个请求将替换它。

答案 2 :(得分:1)

这取决于应用程序,但是对于聊天你可能想要经常轮询 - 我会说1到4秒。您可以做的是动态更改轮询间隔以减少服务器负载 - 如果没有人在一分钟内说了什么,增加到10秒......在5分钟后增加到30秒 - 就是这样。

答案 3 :(得分:1)

除了您希望增加服务器负载的同时用户数之外,没有实际限制。您可以通过跟踪平均响应时间来在客户端动态调整此值。

为了做到这一点,在适当的负载下,你可以使用Comet下注。