2008-10-30 71 views
2

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

回答

1

这取决于应用程序,但对于聊天,您可能需要经常进行调查 - 我会说1到4秒。你可以做的是动态改变轮询时间间隔来减少你的服务器负载 - 如果没有人说什么一分钟,增加到10秒...... 5分钟后增加到30秒 - 这种事情。

2

的这个问题的答案是非常依赖:

  1. 多少数据在每个轮询发送
  2. 多少用户,你会在同一时间网上有
  3. 多少带宽服务器可以处理您的客户端上
  4. 如何“保鲜”的数据需要

不知道任何这些细节的哟你的应用程序,这将是很难给出一个很好的建议。您是否研究过客户端连接到服务器的方法,并且服务器保持连接处于打开状态,直到有可用数据?然后服务器传送数据,客户端立即重新连接并再次等待。开展工作可能会非常棘手,但您可以通过这种方式最大限度地提高带宽效率和响应能力。

1

除了预计会给服务器负载带来负担的并发用户数量之外,没有实际限制。您可以通过跟踪平均响应时间在客户端动态调整它。

为了做到这一点,在一个体面的负载下,您使用Comet下注。

+0

动态调整也可以在服务器上完成(它可能最好知道它是如何重载的),它以返回值的形式表示'不要回叫N毫秒'成员。但是,如果你的服务器/框架可以有效地支持它,彗星式的交互是理想的。 – bobince 2008-10-30 21:11:15

2

我们已经在我们的聊天对AJAX轮询不同的解决方案:

该请求被发送到服务器和轮询数据上服务器侧在周期非常短的延迟间隔(如0.5秒) 。一个数据被获取,请求返回。然后下一个请求立即发送到服务器。所有请求的超时设置为60秒左右,当它没有获取数据到期时,下一个请求会替换它。

相关问题