对于需要快速刷新数据的应用程序,使用JavaScript轮询服务器的最佳实践是什么?我将jQuery用于前端,将Java Spring Framework用于后端。
刷新数据的示例可以是很快(每1秒)更新一次的项目列表。
您可能想使用jQuery的Ajax函数每秒钟左右轮询一次服务器。然后,服务器可以近乎实时地向浏览器发出指令响应。
您也可以考虑使用长轮询而不是上面的方法,以减少等待时间而不增加轮询的频率。
长轮询彗星技术是一种优化传统轮询以减少延迟的技术。
传统的轮询XMLHttpRequest以固定的时间间隔向服务器发送。例如,XMLHttpRequest每15秒打开一个新的连接,立即收到响应,然后关闭连接。
XMLHttpRequest
长轮询将请求发送到服务器,但是直到一个可用时,响应才返回给客户端。一旦关闭连接(由于客户端收到响应或请求超时),就会启动新的连接。结果是大大减少了等待时间,因为服务器通常在准备好将信息返回给客户端时已建立连接。
除上述内容外,我还建议您查看以下Stack Overflow帖子的可接受答案,以详细了解长轮询技术: