是不是很好 - 使用setInterval进行数据刷新?

时间:2016-03-09 21:18:43

标签: javascript setinterval

我遇到了问题 - 我应该尽快为用户更新信息,但我不知道确切的时间会发生。

我使用setInterval函数检查当前状态和状态之间的差异。如果有任何差异,那么我发送一个AJAX请求并更新信息。这不好吗?在这种情况下,我无法(或者不知道如何)倾听任何事件。

间隔时间怎么样?所有用户(同时约300个)来自本地网络(ping 15-20 ms)。我必须立即刷新信息。我应该更好地使用50毫秒还是500毫秒?

如果问题不是很清楚,请问 - 换句话说我会试着说出来。 提前致谢

1 个答案:

答案 0 :(得分:1)

解决方案:Websocket

Websockets允许客户端应用程序响应从服务器发起的消息(将其与HTTP进行比较,客户端需要首先通过请求向服务器请求数据)。一个好的解决方案是使用websocket库或框架。在客户端上,您需要创建与服务器的websocket连接,并且在服务器上,您需要在发生更新时提醒任何打开的websockets。

间隔

的问题

它没有扩展,您可以将间隔设置为4000毫秒,仍然一旦您达到1000个用户...您将用10000请求和响应一分钟砰地关闭您的服务器...这将使用吨数据和使用处理什么都不返回。只有当您要发送的事件实际发生时,Websockets才会将数据发送到客户端代理。

后端:PHP

框架

只需将上述框架之一作为websocket连接实现,然后您将注册为此端点的客户端,它将发送您定义的任何事件的数据。