• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    PHP-Push技術實現刷新功能

    發布: 2007-9-07 19:19 | 作者: admin | 來源: eNet論壇 | 查看: 73次 | 進入軟件測試論壇討論

    領測軟件測試網   Server push 前一段時間炒得很熱的“推”技術,不過網上大部分都是cgi的資料,偶爾看到一個法國的網站上有這么個介紹,可惜法語看不懂,只能從他的程序中看懂點東西,現整理個例子出來大家學習一下?梢杂糜诹奶焓业臄祿䝼鬏、網站上的新聞更新、等等各類更新頻繁的頁面。

      以前做刷新主要通過頁面上加標簽。

       < META HTTP-EQUIV=REFRESH CONTENT="time;URL=url" >

      或者使用javascript的timeout+reload,不過這種刷新的方法取決于時間的設定,無法連續的數據傳輸且時間不好確定。采用了Server push的服務器在客戶機做出一個請求后,和客戶機建立一個永久的連接,然后服務器會根據客戶機的請求不斷地把數據包推向服務器。那些你覺察不到的延遲會讓你覺得服務器的響應和你的請求已經達到了同步的程度。

      先來看一下例子再解釋。

       http://www.enet.com.cnimg.php

        < ?php

          set_time_limit(0);

          $file = "./1.jpg";

          $sep = "gIrLsKiCkAsSiTsAySsOoNaTsHiRt";

        if(ereg(".*MSIE.*",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])){

        //如果是ie瀏覽器,直接輸出就退出,IE的不支持哦,我沒試出來過

          header("Cache-Control: no-cache");

          header("Pragma: no-cache");

          header("Content-type: image/jpeg");

          header("Content-size: " . filesize($file));

          readfile($file);

        }else{

          header("Content-Type: multipart/x-mixed-replace; boundary=$sep");

        //這里是關鍵哦,看看MIME類型說明

      //你會明白

        print "--$sep

      ";

        do{

          print "Content-Type: image/jpeg

      ";

          readfile($file);

          print "

      --$sep

      ";

          flush();

          $mt = filemtime($file);

          do{

            sleep (1);

            clearstatcache();

           }while($mt == filemtime($file));

        }while(1);

      }

      ? >

      這就是一個永久執行的頁面(網絡不斷的情況下),不斷輸出圖片的內容,下面是調用的頁面。,然后打開你的netscape或其他非ie瀏覽器查看調用頁面,好象沒什么變化啊,別急,接著就是怎樣變動1.jpg這個圖片了,寫個另外的php頁面來測試吧,比如弄2張圖片按時間來覆蓋1.jpg(這個方法自己想,用拷貝覆蓋也行,只要1.jpg有變化)。這時你就看到調用頁面的圖片自動更新了。

      使用中你會發現個問題:怎么圖片不自動更新了。這是由于客戶機在一段時間內沒有對服務器發生請求,也就是某一段時間內沒有新的內容向瀏覽器輸入,可能發生連接超時現象。什么辦法解決呢?可以在執行頁面中加個向瀏覽器發送一個空信號,類似ftp連接方式,上面頁面中在do...while(1)間加個print("");

      看完這個例子,應該知道怎么處理不斷更新的內容了,關鍵在http://www.enet.com.cnimg.php頁面中的處理(可以是檢查新的內容并輸出),調用的時候可以有img、script、frame等等。詳細的其他使用方面請查看:http://www.npds.org/。


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    軟件測試論壇

    軟件測試技術相關文章

    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>