gpt4 book ai didi

java - 在基本 AJAX(如 HTTP 轮询)和反向 AJAX(如长轮询)之间进行选择时应考虑哪些因素?

转载 作者:行者123 更新时间:2023-12-03 09:52:31 25 4
gpt4 key购买 nike

我知道实时聊天应用程序肯定需要反向AJAX。但是其他实时功能不那么重要的应用程序又如何呢?

假设有一个类似于 Stackoverflow 上的通知功能。当人们回答您的问题时,您会收到通知。对于用户在有新答案时立即收到通知来说,这可能并不那么重要。

这种功能需要反向AJAX吗?或者将其设置为每 60 秒请求一次新通知的基本 AJAX 就足够了?基础AJAX是否消耗大量服务器资源?如何在它们之间进行选择?

最佳答案

我认为一般可以有 3 个用例:

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

  2. 您不需要实时通知,大延迟也不是问题。在这种情况下,具有较大间隔的传统轮询就足够了。示例:更新用户个人资料中的一些统计信息。

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

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

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

正如用户489041所指出的,您还需要考虑您的服务器环境。长轮询在用户访问包含长轮询 AJAX 脚本的页面时始终保持 TCP 连接打开。如果您有数万名用户而只有一台服务器,这可能会成为一个问题。即使您的用户少于 10000 个,您也需要确保您的应用程序服务器配置为能够处理那么多的并发连接。例如,默认配置下的 Tomcat 无法处理超过 200 个并发连接。

关于java - 在基本 AJAX(如 HTTP 轮询)和反向 AJAX(如长轮询)之间进行选择时应考虑哪些因素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com