Comet——隨着AJAX技術興起而產生的新技術

不得不說Ajax確實是一個好東西,由它的出現使得WEB端新技術不斷產生,Comet就屬於這麼一個技術,這個技術有時叫作反向AJAX,有時叫作服務器"推"技術,嗯,不要被牛逼閃閃的名詞嚇倒,其實沒那麼難。php

先看一下維基的解釋:mysql

"Comet是一種用於web的推送技術,能使服務器實時地將更新的信息傳送到客戶端,而無須客戶端發出請求,目前有兩種實現方式,Ajax和iframe流。"web

——維基百科ajax

維基的解釋比較繞,那咱們用人話來解釋一下:sql

凡是由服務端(即服務器,再具體點就是你目前訪問的那個文件)實時的,不間斷的往客戶端(瀏覽器)發送數據的技術,均可以稱之爲Comet技術,目前這個技術能夠經過兩個方式實現,Ajax和iframe流。segmentfault

仍是有些不明覺厲的話,看代碼:瀏覽器

<?php

$pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root');

$resource = $pdo->query('select * from t1');

$result = $resource->fetchall();

while (true) {

    if ($result) {

        echo '往服務器發數據' ;

        print_r($result);

    }else{

    }

}

?>

將這段代碼運行起來,就是一個最最最簡化版的Comet技術。服務器

想象一下,當服務器運行這段代碼的時候,服務器是否是像吃炫邁同樣一塊兒像客戶端(瀏覽器)發送數據?並且是根本停不下來那種,這就叫作Comet,也叫做服務器"推",也叫反向ajax。fetch

前臺請求的代碼若是是iframe,那就叫作iframe流,若是是ajax請求,那就叫作ajax 輪詢/長輪詢。code

內什麼,你還問我Comet是啥?Comet就是服務器一直像客戶端發送數據呀!

下面是Comet具體的技術實現:

Ajax輪詢——「定時的經過Ajax查詢服務端」

用大白話揭開Ajax長輪詢(long polling)的神祕面紗

相關文章
相關標籤/搜索