【发布时间】:2010-04-14 10:11:40
【问题描述】:
我有一个实现游戏的 Rails 应用程序,因此预计玩家会在游戏页面上保持浏览器处于打开状态。当玩家 Alan 自己采取行动时,我使用 AJAX 请求来更新 Alan 正在查看的游戏页面以反映新状态。但是,当另一个玩家(鲍勃)采取行动时,我没有(或不想要)一种机制来将改变推送到艾伦的观点。
我希望 Alan 的页面定期轮询 Rails 服务器以查找自上次重新加载以来是否有任何更改,如果没有则重新加载页面(通过整个页面 GET 或 AJAX 调用)。为了很好地使用缓存和代理,我想通过发出一个定期的 HTTP HEAD 请求来做到这一点,让 Rails 计算出最后一次更改的时间戳(可以从我的数据库中轻松获得)并在 Last -修改了标题;然后让客户端对该时间戳采取行动。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby polling http-head