超级计算机囧囧囧's Archivers

From admin on 2011-06-18 07:27:00

网页在线聊天实现/ajax长轮询(ajax long polling)

要达到实时返回服务器端的数据的效果。

需要使用“服务器推送技术(server push)”

有一篇好文章,“Comet:基于 HTTP 长连接的“服务器推”技术”,

腾讯webQQ和百度hi网页版,都是采用了ajax long polling,不过webQQ采用的是ajax跨域。


while(true){ //在服务器端做阻塞,看起来就是死循环,我们可以获取当前执行时间与请求时间相减,在规定的时间段内为true
$result=$db->getNewMsg();//获取最新数据
if(count($result)>0){
//输出json或xml
}else sleep(1);//让服务器休息1秒,减少资源消耗
}
if(!$result) //输出超时信息,前端接收到超时信息则发起下一轮ajax请求

查看完整版本: 网页在线聊天实现/ajax长轮询(ajax long polling)

Tags: ajax


©超级计算机囧囧囧