HTTP协议分析系列(十)------HTTP协议+分块传输+持久链接+反向ajax+服务器推技术

反向ajax又叫comet,server push,服务器推技术。

应用范围:网页聊天室,新浪,google mail 网页聊天,都有用到

 

原理:一般而言,HTTP协议的特点,连接<->断开

具体什么时间断开?

服务器响应content-length收到的指定length长度的内容时,也就就断开了

 

http1.1协议中,允许你不写content-length,比如要发送的内容长度不知道时。

 

这时需要一个特殊的content-type:chunked

123H\r\n

123H个长度的内容传输给客户端....

....

41H\r\n

 

浏览器继续接受41H长度的内容,\r\n

0\r\n(服务器说内容发完了)


<?php 
set_time_limit(0);
ob_start();

$pad=str_repeat(' ',4000);
echo $pad.'<br/>';
ob_flush();
flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
$i=1;
while($i++){
	echo $pad.'<br/>';
	echo $i.'<br/>';
	ob_flush();
	flush();//把产生的垃圾立即送给浏览器页面而不要等脚本结束再一起送
	sleep(1);
}
/*
 * 思考:如果while循环中,不是1,2,3。。。
 * 而是数据库中记录呢?
 * 而是2人的聊天记录呢?
 * 这样就达到,即时通信。
 * 服务器端--不间断--推送信息--->到客户端
 * 
 * */
?>

网页聊天室的具体实现我会在ajax学习系列中详细写出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章