web QQ都用过吧,这涉及到哪些技术,有一个就是反向ajax。
反向ajax又叫comet,server push,服务器推技术.
应用范围: 网页聊天服务器,, 新浪微博在线聊天,google mail 网页聊天,都有用到.
原理: 一般而言, HTTP协议的特点, 连接断开.
具体什么时间断开?
服务器响应content-length,收到到指定length长度的内容时,也就断开了.
在http1.1协议中, 允许你不写content-length,比如要发送的内容长度确实不知道时.
这时,需要一个特殊的content-type:chunked
set_time_limit(0);
ob_start();
$pad = str_repeat(' ',4000);
echo $pad,'
';
ob_flush();
flush(); // 把产生的内容 立即送给浏览器而不要等脚本结束再一起送.
$conn = mysql_connect('localhost','root','111111');
mysql_query('use test');
while(1) {
$sql = 'select * from msg where flag = 0';
$rs = mysql_query($sql,$conn);
$row = mysql_fetch_assoc($rs);
if(!empty($row)) {
echo $pad,'
';
echo $row['content'],'
';
mysql_query('update msg set flag=1');
}
ob_flush();
flush(); // 把产生的内容 立即送给浏览器而不要等脚本结束再一起送.
sleep(1);
}
/*
读取数据库中内容
这样就能达到 , 即时通信.
服务器端---不间断--推送信息-->到客户端
*/