ajax - 保持长轮询连接打开的最佳方法

时间:2015-02-19 17:10:27

标签: javascript ajax long-polling

我正在开发一个用于学习目的的简单聊天应用程序。我正在使用长轮询来更新聊天记录。现在我正在做的事情 - :

  1. 客户向服务器发出请求。
  2. 如果服务器有更新,则发送它。否则第3步。
  3. 服务器允许请求挂起,直到更新可用。
  4. 如果请求超时服务器发回“Keep-Alive”并且用户发出新请求(步骤1)。
  5. 这是最好的方法吗?还有比这更优化的东西吗? 我应该考虑HTTP流式传输到HTTP长轮询,因为它减少了开销吗?

    我使用Java Servlets来做这个,但这更像是一个AJAX问题,所以这就是为什么我没有添加任何代码。如果需要,我会的。

1 个答案:

答案 0 :(得分:0)

你所建议的肯定会奏效。另一个选项是WebSockets,虽然它是相对较新的技术,并且在旧版浏览器中不受支持。

Web Sockets