我目前正在建立一个拍卖网站,有一些问题我仍然没有解决方案......如何在网站上推送通知(就像 facebook 一样)。当中标者被其他投标者超越时,我需要在屏幕上显示。
我尝试使用间隔 ajax(拉取请求)它占用了大量服务器资源。
请帮忙。
谢谢
基本上,您需要“长轮询”或“即时响应功能”。你应该看看长轮询(推送技术),理解它,然后选择适合工作的正确语言、技术和架构。
In a web/AJAX context, long polling is also known as Comet programming.
如果您想构建“类似于 facebook 的东西”,您将需要对以下内容和一些 Javascript 技能进行大量研究。它是您将使用的唯一语言。
我还将 Require.js 包含到该列表中,该列表基本上用于异步加载所有 Backbone Javascript 文件。它有助于保持应用程序的文件结构可维护。
最后,很高兴看到您已经意识到定期提取数据的缺点。因为这会对服务器造成影响。研究长轮询,你会学到很多有用和有趣的东西 :) 记住 - 为工作选择正确的工具。
如果您只需要支持现代浏览器,也许 HTML5 WebSockets 可能是一个解决方案:
http://www.html5rocks.com/en/tutorials/websockets/basics/
它们允许您“收听”浏览器中的数据。但是,如果您必须支持较旧的浏览器,则必须采用其他建议的解决方案。