我试图为我的Django网站做一个非常简单的2人聊天室。我正在学习AJAX来完成这个任务。我需要在没有用户交互的情况下更新网页的部分内容:
实现这一点的最简单方法是什么?是否只是使用JavaScript定期轮询服务器?如果是的话,这样做的最佳做法是什么?我找到了一些关于使用setInterval或setTimeout的解决方案,但不确定这是否是最好的方法。
(我读过关于反向AJAX的文章,但从我所读到的来看,实现起来更加复杂。我不需要我的解决方案是快速或可伸缩的,我只需要它工作。)
发布于 2009-05-17 00:48:55
既然您说您不关心彗星,这显然不是一件容易的事情,所以setInterval会做到这一点。不过,你想聪明点。你应该从30秒的间隔开始。如果用户开始聊天,您的时间间隔应该降到5。当您注意到越来越少的动作时,您的计时器应该再次下降到30秒,以此类推。它不会在可伸缩性会议上赢得任何奖项,但它会为你的中等规模网站赢得任何奖项。
有关此技术的更多信息,请参见看看这个相关的问题。
发布于 2009-05-17 00:49:34
利用绕轨道。乍一看,你的眼睛很容易发呆,开始抱怨太复杂了,但一旦你通过了它,你就会明白什么是“最佳实践”,以及为什么它既快速又可伸缩。
您还会发现自己意识到这是一种出色的技术,并且可以用于许多动态网页行为。
发布于 2010-02-11 19:39:59
另一个让你半途而废的选择是WebSync点播 (或者任何其他托管的彗星service...not,如果还有其他的)。它将允许您实现服务器推送功能,但是工作起来非常简单,因为您只需要包括javascript客户端。
https://stackoverflow.com/questions/873624
复制相似问题