实施实时投票系统

时间:2011-01-07 02:47:49

标签: mysql html ajax design-patterns polling

我正在考虑在my website上实施实时投票系统。该网站提供直播,我希望能够提醒观众在施法者发起的投票中选择答案。我可以理解如何将数据存储在mySQL数据库中,以及如何处理答案。但是:

我最初如何在客户端开始投票并显示它?如果脚本每隔几秒就在页面上运行,请检查另一页以查看用户是否有可用的问题?

是否有任何现有的实时投票系统示例,例如我正在实施的内容?

3 个答案:

答案 0 :(得分:4)

您必须每隔几秒向服务器查询一个新问题。

另一种方法是保持连接打开,直到服务器发送更多数据或超时,这只会减少(但不会消除)服务器命中。我认为它被称为“长期民意调查”。 http://en.wikipedia.org/wiki/Push_technology

答案 1 :(得分:1)

您可以在JavaScript中使用setTimeout每隔几秒发出一次AJAX请求,以检查是否有新问题。

是的,长轮询可能会更好,但我确信它有点复杂。所以,如果你能胜任这项工作,请继续使用它!

以下是有关该主题的更多信息: http://www.webdevelopmentbits.com/avoiding-long-polling

答案 2 :(得分:1)

您必须从客户端发起连接。最简单的解决方案是让页面每隔一秒左右发出一次AJAX请求。网页不必立即返回(在没有连接超时的情况下,它们可能需要30秒或更长时间才能响应)。这个,打开一个连接,直到它有话要说才会响应,是“长时间轮询”。