0

I know real-time chatting app definitely needs reverse AJAX.But how about other applications that real-time function is not so important?

Say there is a notification function like on Stackoverflow. When people answer your question you get a notification. Probably this is not so important for user to get notified immediately when there is a new answer.

Does this kind of function needs a reverse AJAX? Or it is good enough to set it as a basic AJAX that request the new notification every 60 seconds? Does the basic AJAX consume a lot of server resources? How to choose between them?

4

1 回答 1

1

我认为通常可以有3个用例:

  1. 您希望尽快向用户显示每一个更新。如果是这样,一定要使用长轮询。例如:聊天。

  2. 您不需要实时通知,大延迟也不是问题。在这种情况下,间隔大的传统轮询对您来说已经足够了。示例:更新用户配置文件中的一些统计信息。

  3. 第三种情况介于两者之间——您不需要实时更新,但仍然不希望有很大的延迟。

    一个。如果您的数据经常更改,但您不需要向用户报告每一次更改,那么传统轮询可能会更好,因为它不会发送不必要的更新。

    湾。如果数据很少更改并且您更愿意通知每次更改,那么长轮询可能会更好,因为它不会一次又一次地发送相同的数据。

正如 user489041 所指出的,您还需要考虑您的服务器环境。长轮询使 TCP 连接在用户在具有长轮询 AJAX 脚本的页面上的整个过程中保持打开状态。如果您有数以万计的用户并且只有一台服务器,这可能会成为一个问题。即使您有少于 10000 个用户,您也需要确保您的应用程序服务器配置为处理那么多同时连接。例如,默认配置中的 Tomcat 不能处理超过 200 个同时连接。

于 2015-06-15T16:12:39.393 回答