-1

我需要一个建议来创建一个速度和性能更好的拍卖网站。基本上,我通过使用 setinterval 和 settimeout 函数来运行倒计时来收集知识,并在此基础上进行了开发(服务器上的速度非常慢,因为每秒都向服务器发送请求)

我真正需要的是一旦服务器收到请求 => 响应将需要更新给所有正在参加拍卖的用户。

对此的任何建议都非常感谢。谢谢你。

4

5 回答 5

2

您将对“服务器推送”方法感兴趣。

https://www.google.co.uk/search?q=server+to+browser+push

这里也很少讨论:

向客户端浏览器推送通知

有没有办法将数据从网络服务器推送到浏览器?

于 2012-07-20T10:10:49.773 回答
0

设置不同类型的服务器。不要试图让一个好的拍卖网站在向普通 PHP 服务器发出大量请求时运行。

有几个更好的选择,其中之一包括 nodejs ( http://nodejs.org/ )

否则,请在您当前的应用程序中尝试长轮询。但它会给服务器带来很大的压力。

于 2012-07-20T10:08:33.997 回答
0

这里有类似的问题,有一个很好的答案:

如何实现基本的“长轮询”?

然而问题是,apache2 是一个阻塞的 Web 服务器,它要求您每隔一段时间轮询一次服务器,以获得响应。

如果您要使用像 node.js http://nodejs.org/这样的技术,它将允许您从服务器端推送到客户端,而无需刷新页面。

于 2012-07-20T10:13:01.810 回答
0

您可以创建一个拍卖标识符,并且客户端应该通过 AJAX 调用检查更改,每秒或您想要的频率。

喜欢

needsUpdate(auctionId);

作为回报,您要么得到false,要么得到更新的值

于 2012-07-20T09:58:06.707 回答
0

在不详细了解您的要求的情况下,这是我过去解决该问题的方法。首先:在服务器上运行脚本很重。如果您每秒都为每个客户这样做,并且您有很多客户,那么您将需要一个大数据中心。;-)

请改用纯文本文件。让我们说类似“auction2343.txt”的内容,其中 2343 是一些对您有意义的拍卖 ID。

服务器不需要调用(昂贵的)进程来返回该文件的内容。

在服务器端,制作一些每秒运行的 cronjob 以在需要时更新文件。或者,仅在有人出价时才更新它。找出适合您的情况的方法。

在文件中放一些 Javascript 可以用来决定做什么的东西,例如最后的出价。

如果 Javascript 发现出价高于它的最后一个值,你可以做一些额外的事情,比如在服务器上启动一个真实的(昂贵的)脚本,或者简单地显示客户端,或者你需要的任何东西。

确保如果您使用 HXR(“ajax”),则为文本文件(“auction2343.txt”)的 URL 添加一些时间戳,这样您的客户端就不会获取缓存版本。

例如:

http://www.example.com/auction2343.txt?timestamp=[millis here]

于 2012-07-20T10:02:59.633 回答