主頁(yè) > 知識(shí)庫(kù) > asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼

asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼

熱門標(biāo)簽:山東防封電銷卡辦理套餐 廈門四川外呼系統(tǒng) 百度地圖標(biāo)注點(diǎn)擊事件 內(nèi)蒙古智能電銷機(jī)器人哪家強(qiáng) 杭州智能電話機(jī)器人 怎樣在地圖標(biāo)注消火栓圖形 地圖標(biāo)注位置多的錢 泰州手機(jī)外呼系統(tǒng)軟件 濟(jì)源人工智能電話機(jī)器人價(jià)格

復(fù)制代碼 代碼如下:

private   void   getSpeed()
      {
      //鏈接開始時(shí)間
      DateTime   stime   =   DateTime.Now;
      //文件
      string   url   =   "http://xxx.com/images/test.jpg ";
      WebRequest   myRequest   =   WebRequest.Create(url);
      //鏈接成功
      WebResponse   myReponse   =   myRequest.GetResponse();
      //取得文件的大小 字節(jié)單位
      int   ii   =   int.Parse(myReponse.ContentLength.ToString());
      //取得流
      Stream   myStream   =   myReponse.GetResponseStream();
      StreamReader   sr   =   new   StreamReader(myStream);
      byte[]   mbyte=new   byte[ii];
      int   allbyte=(int)mbyte.Length;
      int   startbyte=0;
      string   test   =   " ";
      while(ii> 0)     //################       循環(huán)讀取文件,并顯示進(jìn)度.....
      {
      int   m=myStream.Read(mbyte,startbyte,allbyte);
      if(m==0){break;}
      startbyte+=m;
      allbyte-=m;
      int   a1=(int)startbyte/1024;
      int   a2=(int)ii/1024;
      test+= "連接成功..開始下載..m= "+m+ "| "   +   a1.ToString()   +   "/ "   +   a2.ToString()   +   "KB ";//startbyte   +   "/ "   +   ii.ToString();
      }
      //鏈接結(jié)束時(shí)間
      DateTime   etime=DateTime.Now;
      TimeSpan   ts   =   etime   -   stime;
      //總共耗時(shí) 
      double   SpeedTime   =   (double)   ts.TotalSeconds;
      double   Kbps   =   0;
      double   ShowPer   =   0;
      if   (SpeedTime> 0)
      {
      //網(wǎng)絡(luò)速度
      Kbps   =   Math.Round(Math.Round(ii*8/1024/SpeedTime*10.5)/10);
      //Kbps   =   Math.Round(ii/1024/   SpeedTime);
      }
      else
      {
      Kbps   =   10000;
      }
      //用來(lái)顯示當(dāng)前流量所要顯示的圖片長(zhǎng)度
      ShowPer   =   Math.Round(Kbps/100);
      if   (ShowPer 1)
      ShowPer   =   1;
      else   if(ShowPer> 82)
      ShowPer   =   82;
      //網(wǎng)絡(luò)速度
      string   sp   =   (Math.Round(Kbps/8*10)/10).ToString();
      sr.Close();
      myStream.Close();
      myReponse.Close();
      // Response.Write(test);
      Response.Write( "網(wǎng)絡(luò)速度 "+sp+ "圖片長(zhǎng)度$ "+ShowPer+ "耗時(shí)$ "+SpeedTime+ "文件大小$ "+ii);
      Response.End();
      }

最后有網(wǎng)友又給出了實(shí)現(xiàn)的另一思路:

      用一個(gè)頁(yè)面輸出一個(gè)3M的網(wǎng)頁(yè)(通過一個(gè)循環(huán)輸出字節(jié)),然后異步去請(qǐng)求這個(gè)頁(yè)面,計(jì)算開始時(shí)間與結(jié)束時(shí)間的差,然后再去計(jì)算。

      思路還是老樣,就是用webRequest去獲取流文件就只是取得響應(yīng)時(shí)間,但是得不得輸出時(shí)間(自己的水平有限,不過我想肯定可以實(shí)現(xiàn))?,F(xiàn)在只是換了一個(gè)方法去獲取輸出時(shí)間。我在baidu與google也是只查到異步獲取文字內(nèi)容輸出時(shí)間可以。但是有圖片的就好像有點(diǎn)困難了。

      不過最終的結(jié)果得到了,還是有點(diǎn)成績(jī)感的。呵呵。。。

您可能感興趣的文章:
  • asp.net 抓取網(wǎng)頁(yè)源碼三種實(shí)現(xiàn)方法
  • 分享下頁(yè)面關(guān)鍵字抓取www.icbase.com站點(diǎn)代碼(帶asp.net參數(shù)的)
  • asp.net c# 抓取頁(yè)面信息方法介紹
  • ASP.net(C#)從其他網(wǎng)站抓取內(nèi)容并截取有用信息的實(shí)現(xiàn)代碼
  • ASP.NET實(shí)現(xiàn)偽靜態(tài)網(wǎng)頁(yè)方法小結(jié)
  • asp.net顯示自己的網(wǎng)頁(yè)圖標(biāo)的幾種方式
  • asp.net采集網(wǎng)頁(yè)圖片的具體方法
  • ASP.NET抓取網(wǎng)頁(yè)內(nèi)容的實(shí)現(xiàn)方法

標(biāo)簽:朝陽(yáng) 朔州 喀什 新鄉(xiāng) 臺(tái)州 周口 百色 洛陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼》,本文關(guān)鍵詞  asp.net,實(shí)現(xiàn),的,計(jì)算,網(wǎng)頁(yè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于asp.net實(shí)現(xiàn)的計(jì)算網(wǎng)頁(yè)下載速度的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章