0

我目前正在建立一个拍卖网站,有一些问题我仍然没有解决方案......如何在网站上推送通知(就像 facebook 一样)。当中标者被其他投标者超越时,我需要在屏幕上显示。

我尝试使用间隔 ajax(拉取请求)它占用了大量服务器资源。

请帮忙。

谢谢

4

3 回答 3

2

基本上,您需要“长轮询”或“即时响应功能”。你应该看看长轮询(推送技术),理解它,然后选择适合工作的正确语言、技术和架构。

In a web/AJAX context, long polling is also known as Comet programming.


如果您想构建“类似于 facebook 的东西”,您将需要对以下内容和一些 Javascript 技能进行大量研究。它是您将使用的唯一语言。

  • Node.js:可以使用套接字向浏览器提供实时更新的后端服务器。
  • Backbone.js:一种构建单页应用程序的半结构化方式,“像 facebook”

我还将 Require.js 包含到该列表中,该列表基本上用于异步加载所有 Backbone Javascript 文件。它有助于保持应用程序的文件结构可维护。


最后,很高兴看到您已经意识到定期提取数据的缺点。因为这会对服务器造成影响。研究长轮询,你会学到很多有用和有趣的东西 :) 记住 - 为工作选择正确的工具。

于 2013-01-16T10:44:57.597 回答
0

如果您只需要支持现代浏览器,也许 HTML5 WebSockets 可能是一个解决方案:

http://www.html5rocks.com/en/tutorials/websockets/basics/

它们允许您“收听”浏览器中的数据。但是,如果您必须支持较旧的浏览器,则必须采用其他建议的解决方案。

于 2013-01-16T10:48:43.370 回答
0

间隔 AJAX 是最糟糕的解决方案。使用一些实时 API,例如PUSHER

例子

于 2013-01-16T10:43:04.943 回答