一:HTTP协议与技久链接+分块传输---->反向ajax
反向ajax又叫comet, server push,服务器推技术.
应用范围: 网页聊天服务器,, 新浪微博在线聊天,google mail 网页聊天,都有用到.
原理: 一般而言, HTTP协议的特点, 连接<->断开.
具体什么时间断开?
服务器响应content-length,收到到指定length长度的内容时,也就断开了.
在http1.1协议中, 允许你不写content-length ,比如要发送的内容长度确实不知道时.
这时,需要一个特殊的content-type:chunked
分场传输的原理是这样的:
123H \r\n
123H个长度的内容传输给给客户端...\r\n
.......
41H\r\n
浏览器继续接收41H长度的内容.\r\n
0\r\n (服务器说内容发完了)
与mysql结合
<?php
set_time_limit(0);
ob_start();$pad = str_repeat(' ',4000);echo $pad,'<br />';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,'<br />'; echo $row['content'],'<br />'; mysql_query('update msg set flag=1'); } ob_flush(); flush(); // 把产生的内容 立即送给浏览器而不要等脚本结束再一起送. sleep(1);}