在服务器端脚本中触发事件

时间:2010-03-23 10:48:31

标签: php database ajax comet

在SO中,当你的问题得到答案时。或者你有新徽章,事件被触发。或者当您在论坛中获得新的PM时,它也会通过提醒消息让您知道。

当您在此活动结束后第一次进入网站时,您会看到有关您的帐户出现问题的消息。

这是如何实施的?脚本如何知道,他们有新的东西给你看?

3 个答案:

答案 0 :(得分:3)

您正在寻找的编程技术称为Comet。维基百科的链接描述了它的一些实现,但最简单的方法是使XMLHttpRequest具有较长的超时,并且仅在更改时返回数据。

答案 1 :(得分:1)

作为对你上次评论的回答 将事件标记为“新”有几种方法。它可以是数据库表中的另一个字段,布尔类型:告诉用户是否显示了事件。或者 - 最简单的一个 - 只是在会话中记录最后一个用户访问的时间,然后将即将到来的事件与其进行比较。

答案 2 :(得分:0)

当另一个人对您的回答或问题进行投票时会发生这种情况。这记录在服务器端。

当您登录该站点时,可以通过在数据库中查找这些记录来确定您在离开时发生的某些事件。

当您在网站上时,页面可能会定期轮询服务器以进行更改。所以它并不是真正触发事件的服务器。