Php 实时投标系统使用什么技术?
他们在使用彗星技术吗Php 实时投标系统使用什么技术?,php,ajax,comet,Php,Ajax,Comet,他们在使用彗星技术吗 您建议使用什么,以及如何使用建议的技术实现它的简单描述?他们每秒轮询服务器以检查/重新渲染时间并获取新数据。 这是带有setInterval的经典ajax setInterval(function(){ get_new_data(); }, 1000); 嗨,这些是什么ajax技术 网站使用 我快速查看了Bidzinga的源代码,看起来他们只是在做简单的轮询(频繁!)。例如,在这个javascript文件()中,我展示了频繁轮询的部分: setInterval(funct
您建议使用什么,以及如何使用建议的技术实现它的简单描述?他们每秒轮询服务器以检查/重新渲染时间并获取新数据。 这是带有setInterval的经典ajax
setInterval(function(){ get_new_data(); }, 1000);
嗨,这些是什么ajax技术
网站使用
我快速查看了Bidzinga的源代码,看起来他们只是在做简单的轮询(频繁!)。例如,在这个javascript文件()中,我展示了频繁轮询的部分:
setInterval(function(){
var gettime = '/gettime.php?' + new Date().getTime();
$.ajax({
url: gettime,
success: function(data){
bidOfficialTime.html(data);
}
});
}, 1000);
这是一个非常糟糕的方法,如果你问我,会杀死你的服务器负载。如果您看到的这个使用PHP(/gettime.PHP
)的服务器没有(您至少需要安装/编译它以获得良好的性能),那么您可以打赌服务器无法处理,因为每次PHP都需要编译字节码。当不使用APC或任何内存数据库(Redis、Memcached)时,它还需要从光盘(有时缓存)获取每个请求。即使频繁轮询从来都不是一种明智的方法,而且您可以确定您的服务器会在负载下死机
他们在使用彗星技术吗 Bidzinga没有使用COMET,因为它使用普通轮询 您建议使用什么,以及 大概是一个简单的描述 使用建议的 技术 我想这取决于你的规模 托管解决方案 但我认为在一开始我会建议你使用,因为它是一个托管解决方案,有很好的文档记录,甚至有一个免费的计划 我们的免费沙箱计划包括多达 20个连接和100000条消息 每天 我必须提醒您,免费/廉价计划没有SSL,因此您不应该通过网络发送任何私人信息。更大的价格计划确实有SSL,但每月将花费50美元。我认为,如果你自己实现这一点,你可以变得更便宜,但这同样会花费你时间(时间等于金钱)。以下是一些可能适合您的其他托管解决方案:
- 这将是我的第一选择。对于socket.io I,至少应该让您开始使用它
- 作为一个爱唠叨的客户。另外,您还可以从XMPP客户机使用此连接
//call foo onload
foo();
function foo(){
// ajax call
$.get('server.php', function(data) {
var recursivecall= setTimeout(function(){
foo(); // recalling
},1000);
});
}
如果需要,您可以使用
clearTimeout(recursivecall)在任何时间点中止recursivecall代码>您可以使用node.js和socket.io进行此操作。
这个链接可以让你有一个好的开始。如果您不熟悉node和socket.io,请告诉我。我是Pennyaductionsoftware.net的开发人员,我们有一款产品,使用WebSocket和ajax回退功能对12000名并发用户进行了测试,适用于较旧的浏览器……它使用memcache、redis和浏览器缓存大量利用缓存确定他们每秒都会轮询吗?会杀死服务器/客户端吗?我知道系统每隔3-10秒拉一次,当服务器没有任何请求时,客户端会为这些“超时”生成假数据。您可能想提到WebSocket,因为您提出的许多解决方案(pusher,socket.io)都支持它。这是真的,但如果它们只支持WebSocket,您将遇到一个大问题,因为并非所有浏览器都支持WebSocket。他们提供了更多的传输来支持跨浏览器。嗨,Alfred,当然PHP不是设计用来处理这种情况的,但是让PHP作为这些框架的客户端会很棒。@Geocine,最快的入门方法是使用pusher。他们有很好的RESTAPI。还有一个为PHP=>开发的库。也许当我有时间的时候,我想在socket.io;)周围包装一个简单的RESTAPI。但我想这还需要一些时间。我猜我一个月内就能吃到一些很酷的东西。如果我每周快速工作几天…@Alfred,你的建议使用Pusher很好,但我更喜欢自托管解决方案,而不是开源解决方案。我没有钱推出这样的产品。所以socket.io可以用于PHP,而PHP是客户端或js,这就是我到目前为止从你的链接文章没有深入挖掘的内容。你推荐socket.io、node.js、redis和PHP组合吗?不需要学太多。谢谢