成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

AlphaGooo / 1913人閱讀

摘要:在看這篇長輪詢之前可以先看看輪詢技術(shù)沒有長,有助于理解長輪詢屬于輪詢的升級版,在客戶端和服務(wù)端都進行了一些改造,使得消耗更低,速度更快。不間斷的通過查詢服務(wù)端。然后客戶端不間斷繼續(xù)發(fā)起請求數(shù)據(jù)不存在,繼續(xù)循環(huán)。

在看這篇Ajax長輪詢之前可以先看看Ajax輪詢技術(shù)(沒有長),有助于理解:

Ajax長輪詢屬于Ajax輪詢的升級版,在客戶端和服務(wù)端都進行了一些改造,使得消耗更低,速度更快。

"不間斷的通過Ajax查詢服務(wù)端"。

來,小二,先上代碼~:

Reception.html //客戶端





    

    










server.php: //服務(wù)端

query("select * from t1");

$result = $resource->fetchall();

while (true) {

    if ($result) {

        //exits data

        print_r(json_encode(array("success"=>"存在數(shù)據(jù),返回")));

        exit(); //輸出數(shù)據(jù),退出。然后客戶端不間斷繼續(xù)發(fā)起請求

    }

    //數(shù)據(jù)不存在,繼續(xù)循環(huán)。

}

?>

看出了玄機了嘛?長輪詢的精髓就在于Ajax的回調(diào)函數(shù),繼續(xù)再次調(diào)用Ajax請求(不間斷的原理就在這里,成功返回后立即再次調(diào)用):

$.ajax(getting);

下面是是Ajax 長輪詢的圖解:

首先請忽略綠色字體的使用限制,然后哪位朋友有可以推薦的畫圖工具可以推薦給我,我現(xiàn)在用的是憶圖圖示。

圖中有兩次請求(本文中的請求默認均為Ajax),第一次很快返回了結(jié)果,然后不間斷的立即發(fā)送第二次請求,但是第二次請求沒有獲得數(shù)據(jù),所以請求遲遲沒有返回(被掛在服務(wù)器了,但只要有數(shù)據(jù)就會再次返回),如果第二次的請求返回數(shù)據(jù)后,第三次請求旋即會立刻發(fā)出,這種技術(shù)就稱為Ajax 長輪詢。

用偽代碼來表示就是這樣:


最關(guān)鍵的地方在于前一次請求結(jié)束后,第二次請求立即不間斷的發(fā)起,這個就叫做Ajax長輪詢

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21535.html

相關(guān)文章

  • Ajax輪詢——“定時通過Ajax查詢服務(wù)端”

    摘要:概念輪詢客戶端按規(guī)定時間定時像服務(wù)端發(fā)送請求,服務(wù)器接到請求后馬上返回響應(yīng)信息并關(guān)閉連接。判斷表是否有數(shù)據(jù),并執(zhí)行對應(yīng)輸出。實際項目中的話查詢語句就根據(jù)實際需求來定就可以了。 Ajax輪詢——定時的通過Ajax查詢服務(wù)端。 概念: 輪詢(polling):客戶端按規(guī)定時間定時像服務(wù)端發(fā)送ajax請求,服務(wù)器接到請求后馬上返回響應(yīng)信息并關(guān)閉連接。 百聞不如一見,來段代碼相信你一看就明白 ...

    imingyu 評論0 收藏0
  • Comet——隨著AJAX技術(shù)興起而產(chǎn)生新技術(shù)

    摘要:不得不說確實是一個好東西,由它的出現(xiàn)使得端新技術(shù)不斷產(chǎn)生,就屬于這么一個技術(shù),這個技術(shù)有時叫做反向,有時叫做服務(wù)器推技術(shù),嗯,不要被牛逼閃閃的名詞嚇倒,其實沒那么難。 不得不說Ajax確實是一個好東西,由它的出現(xiàn)使得WEB端新技術(shù)不斷產(chǎn)生,Comet就屬于這么一個技術(shù),這個技術(shù)有時叫做反向AJAX,有時叫做服務(wù)器推技術(shù),嗯,不要被牛逼閃閃的名詞嚇倒,其實沒那么難。 先看一下維基的解釋:...

    afishhhhh 評論0 收藏0
  • 簡單又好聊天室技術(shù)——WebSocket

    摘要:國際慣例,先上維基百科的解釋。維基百科上面是維基百科對的解釋,別問我如何解釋上面這段話,因為我也沒看懂,那么下面我用人話解釋一下吧僅僅是我的理解是一個協(xié)議,可以簡單看成是協(xié)議的一個補充協(xié)議,借助協(xié)議的基礎(chǔ)完成服務(wù)器主動與客戶端實時傳輸數(shù)據(jù)。 現(xiàn)在,很多網(wǎng)站為了實現(xiàn)推送技術(shù),所用的技術(shù)都是輪詢。輪詢是在特定的的時間間隔(如每1秒),由瀏覽器對服務(wù)器發(fā)出HTTP request,然后由服務(wù)...

    Prasanta 評論0 收藏0
  • express+socket.io實現(xiàn)一個簡易版聊天室

    摘要:用偽代碼來模擬下長輪詢的過程前端利用下面函數(shù)進行請求后端代碼做如下更改利用隨機數(shù)的大小來模擬是否有新數(shù)據(jù)有新數(shù)據(jù)來了長輪詢的確減少了請求的次數(shù),但是它也有著很大的問題,那就是耗費服務(wù)器的資源。 寫在前面 最近由于利用node重構(gòu)某個項目,項目中有一個實時聊天的功能,于是就研究了一下聊天室,在線demo|源碼,歡迎大家反饋。這個聊天室的主要利用到了socket.io和express。這個...

    Chaz 評論0 收藏0
  • WebSocket就這么回事兒

    摘要:服務(wù)端確認協(xié)議版本,升級為協(xié)議。自己寫了一個例子,服務(wù)端在開始連接后,利用定時器主動向客戶端發(fā)送隨機數(shù),客戶端也可以發(fā)給服務(wù)器消息,然后服務(wù)器返回這條消息給客戶端。做的事情就是給頁面的元素綁定事件。 寫在前面webSocket是一項可以讓服務(wù)器將數(shù)據(jù)主動推送給客戶端的技術(shù)。前幾天寫了一個日志功能,日志數(shù)據(jù)需要實時更新。正好項目中有封裝好的WebSocket組件,且接口支持webSock...

    ruicbAndroid 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<