当我的顶部菜单中出现一个小图标时,我正在尝试弄清楚SOF是如何做到这一点的。我认为它可以使用AJAX来每秒检查服务器,这是有意义的,但对于1000+用户,我认为它会使服务器超载,有人能告诉我我是对的,让我知道如何在不破坏服务器的情况下使用像SOF这样的实时推送技术吗
发布于 2012-05-12 04:07:33
您应该考虑使用WebSocket技术。它将在最新的浏览器(Chrome、Firefox和Safari)上运行,并允许服务器将更改推送到浏览器。但是,Internet Explorer不支持它,因此对于该浏览器而言,Ajax轮询几乎是唯一的选择。
发布于 2012-05-12 05:03:29
我推荐使用Event Source,与AJAX Comet不同,它没有长期保持的开放连接,因此您可以更好地处理更多客户端。
/* Event Source Code */
// Initial Startup
if (!!window.EventSource) {
var source = new EventSource('EventSource.php');
// Native EventSource Events
source.addEventListener('open', function(e) {
// Connection was opened.
}, false);
source.addEventListener('error', function(e) {
if (e.readyState == EventSource.CLOSED) {
// Connection was closed.
}
}, false);
source.addEventListener('message', function(e) {
// You'll have to make your own banner function here.
// e.data, this is what you'll need.
}, false);
}https://stackoverflow.com/questions/10557918
复制相似问题