使用 Ajax 进行“实时”更新
Posted
技术标签:
【中文标题】使用 Ajax 进行“实时”更新【英文标题】:"Real time" update with Ajax 【发布时间】:2013-03-12 07:27:54 【问题描述】:我有一个为用户显示“问题”和“答案”的网页。问题由管理员创建。我正在使用 php。
新的要求是“实时”更新用户的问题/答案(这不像策略游戏那样实时,但我称之为实时)。 当管理员创建新问题时,用户应该看到它(出现新问题)。 当管理员关闭现有问题时,它会从用户的角度消失。
我正在考虑使用 ajax 和 javascript timer 创建它——每分钟调用 ajax 并更新结果。 我想知道这是正确的方法吗?
我还想知道可用性/性能...我真的不需要为未更改的用户更新那些问题...您有什么建议可以确定,管理员更改了哪些问题(也许我应该添加类似“last_update_date”之类的问题用于数据库中的问题,并将“last_update_date 放入每个问题的隐藏字段”并进行比较?
【问题讨论】:
ajax
是必须的吗?如果不看看Socket.io 或Websockets,这些都是更“实时”的技术
这不是必须的,但我不使用 socket.io 和 websockets,这不是实时的(它可以每分钟更新一次,而不是每 sek 或类似的,所以我认为我可以使用我“可以使用”的东西,而无需为此项目学习新技术)。
如果您认为每分钟循环播放很容易,请使用socket.on('newQuestion', function ()
, socket.on('updateQuestion', function ()
google for long pooling
【参考方案1】:
如果您不想使用 Socket.io 实现自己的逻辑(如 cmets 中所建议的那样),您应该查看一些在线可用的服务。
我已经使用Pusher.com 有一段时间了,对此我很满意。
【讨论】:
以上是关于使用 Ajax 进行“实时”更新的主要内容,如果未能解决你的问题,请参考以下文章