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學習系列中詳細寫出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章