Ajax 长时间投票与常规投票的优缺点是什么?

Ajax 长时间投票与常规投票的优缺点是什么?,ajax,push,long-integer,polling,Ajax,Push,Long Integer,Polling,我有一个网页,我需要检查服务器的更新每秒钟。更新可能相对频繁或不频繁。可能有很多web客户端同时检查服务器的更新。这可以是每秒一次AJAX请求,也可以是模拟服务器推送的“长轮询”。我想使用哪种方法?为什么?似乎每秒启动HTTP连接的开销可能会使长轮询方法更可取。另一方面,服务器可以维护的并发连接的数量可能有限制。这些技术的一些比较将有助于我决定走哪条路 这取决于您的Web服务器。正在开发的新的Web服务器理解AJAX/Comet风格,并使长轮询非常有效。有关示例,请参见 你也可以考虑定期轮询,但

我有一个网页,我需要检查服务器的更新每秒钟。更新可能相对频繁或不频繁。可能有很多web客户端同时检查服务器的更新。这可以是每秒一次AJAX请求,也可以是模拟服务器推送的“长轮询”。我想使用哪种方法?为什么?似乎每秒启动HTTP连接的开销可能会使长轮询方法更可取。另一方面,服务器可以维护的并发连接的数量可能有限制。这些技术的一些比较将有助于我决定走哪条路

这取决于您的Web服务器。正在开发的新的Web服务器理解AJAX/Comet风格,并使长轮询非常有效。有关示例,请参见

<>你也可以考虑定期轮询,但要使其动态。由于不知道您的域名,我无法提出具体建议。但是想象一下在聊天应用程序中。我可能会在聊天信息发送后等待一段时间,给对方时间,而不是每秒轮询一次。然后更频繁地检查一段时间,如果我仍然一无所获,放慢速度(因为另一个人可能已经走了)。根据具体情况,我可能会有1秒到30秒的轮询间隔


这一切都需要对感觉进行测试,但平均而言,我可能会让它感觉像是1秒的投票,而平均而言,它更像是20秒。

聊天的工作原理很有趣。我的域名是拍卖,我想在我的网页上实时出价。我想随着拍卖临近尾声,我的网页可能会更频繁地进行投票,因为在拍卖临近尾声时,往往会有更多的出价。此外,如果有自动竞价,请在竞价完成后进行检查,直到成交。由于我希望在同一页面上显示多个竞价,因此这可能不太有效。可能总会有一场拍卖接近尾声,所以投票频率可能总是很高。比如说,我想用长投票来代替。我将有一个端点,用于我的网页查询更新。端点将查询内存中的某些内容(可能是消息总线或缓存)以获取更新并阻止,直到出现新内容。基本上,我希望新的出价会导致内存中集合的更新,然后等待线程被通知有新内容。这有意义吗?我应该如何实现这一点?我会在后端使用什么样的工具?缓存(如Memcache)是否合适,或者我是否需要一条消息总线?如果总是有拍卖临近,那么只需使用常规轮询。长轮询是指在更新准备就绪后立即进行更新,但下次更新的时间可能很长。如果每次投票都会产生数据,并且投票频率在您对延迟的容忍范围内,那么只需投票即可。