http://www.bidzinga.com/
http://www.bidbass.com/
他们使用的是彗星技术吗?
您推荐使用什么,以及如何使用建议的技术实现它的简单描述?
发布于 2011-07-09 21:04:24
Hi这些网站使用的是什么ajax技术?
我快速检查了一下Bidzinga的源代码,看起来他们只是在做简单的polling(frequently!).例如,在这个javascript文件(http://www.bidzinga.com/js/default.js)中,我显示了频繁轮询的部分:
setInterval(function(){
var gettime = '/gettime.php?' + new Date().getTime();
$.ajax({
url: gettime,
success: function(data){
bidOfficialTime.html(data);
}
});
}, 1000);如果你问我,这是一个非常糟糕的方法,而且会在负载下杀死你的服务器。如果你所看到的使用PHP(/gettime.php)的服务器没有APC(你至少需要安装/编译它以获得良好的性能),那么你可以打赌服务器不能处理,因为每次PHP都需要编译字节码。此外,当不使用APC或任何内存中的数据库(Redis,Memcached)时,它需要从disc(有时是缓存)获取每个请求。即使频繁轮询从来都不是一种聪明的方法,您可以肯定您的服务器会在负载下死掉。
他们在使用COMET技术吗?
Bidzinga没有使用COMET,因为它使用普通轮询。
您推荐使用什么,并可能简单描述如何使用建议的技术来实现它?
我想这取决于你的规模(大小)。
托管解决方案
但我认为在一开始我会推荐你使用pusher,因为它是一个托管的解决方案,有很好的文档记录,甚至有一个免费的计划。
我们的免费沙盒计划包括每天多达20个连接和100,000条消息
我必须提醒你,免费/便宜的计划没有安全套接字层,所以你永远不应该发送任何私人信息通过网络。价格较高的套餐确实有SSL,但每月的费用为50美元。我认为如果你自己实现它,你可以花更少的钱,但那会耗费你的时间(时间等于金钱)。以下是其他一些托管解决方案,可能符合您的要求:
开源产品:
首先,我想指出的是,这些都不是PHP,因为我不认为PHP是为处理这个问题而设计的。即使是Facebook,它完全是一个PHP商店(现在大量使用HipHop )也同意我的观点,并实现了chat using erlang。对于这些有很好文档的开源产品,您将需要一个VPS。对于他们中的一些人来说,如果你能以root身份安装软件,那就太好了。虽然VPS并不是所有这些产品都需要的,但你应该有编译软件的能力。
从XMPP客户端进行连接
发布于 2011-07-09 21:21:18
每更新一次,setInterval就会kill你的服务器/客户端。
为此,您可以使用递归函数
//call foo onload
foo();
function foo(){
// ajax call
$.get('server.php', function(data) {
var recursivecall= setTimeout(function(){
foo(); // recalling
},1000);
});
}如果需要,您可以使用clearTimeout(recursivecall);在任何时间点中止递归调用。
发布于 2011-07-09 20:09:07
它们每秒轮询服务器以检查/重新呈现时间并获取新数据。这是使用setInterval的经典ajax
setInterval(function(){ get_new_data(); }, 1000);https://stackoverflow.com/questions/6634522
复制相似问题