2012-09-18 36 views
0

我正在开发一个网站,需要根据互联网速度/带宽来改变内容。在asp.net中测量互联网速度

在带宽较低的地方,网络应用程序应该只显示 纯文本和正常带宽显示正常网站。

我一直在研究它,因为几天,但我无法找到一个合适的解决方案。 有没有一种简单的方法来检测asp.net中的带宽?

感谢

+0

的[我怎样才能找到从服务器的客户端下载速度?]可能重复(http://stackoverflow.com/questions/678635 /如何-可以-I-发现,出了下载速度的最-客户端从服务器) –

回答

1

按照给定的代码来检查你的互联网连接速度 添加命名空间

using System.Net;在测试按钮单击事件

写代码..

Uri URL = new Uri("http://sixhoej.net/speedtest/1024kb.txt"); 

    WebClient wc = new WebClient(); 

    double starttime = Environment.TickCount; 


    // download file from the specified URL, and save it to C:\speedtest.txt 

    wc.DownloadFile(URL, @"C:\speedtest.txt"); 


    // get current tickcount 

    double endtime = Environment.TickCount; 


    // how many seconds did it take? 

    // we are calculating this by subtracting starttime from endtime 

    // and dividing by 1000 (since the tickcount is in miliseconds.. 1000 ms = 1 sec) 

    double secs = Math.Floor(endtime - starttime)/1000; 


    // round the number of secs and remove the decimal point 

    double secs2 = Math.Round(secs, 0); 





    // calculate download rate in kb per sec. 

    // this is done by dividing 1024 by the number of seconds it 

    // took to download the file (1024 bytes = 1 kilobyte) 

    double kbsec = Math.Round(1024/secs); 

    Label1.Text = "Download rate: " + kbsec + " kb/sec"; 

    try 

    { 

     // delete downloaded file 

     System.IO.File.Delete(@"C:\speedtest.txt"); 

     Response.Write("Done."); 

    } 

    catch 

    { 

     Response.Write("Couldn't delete download file."); 

     Response.Write("To delete the file yourself, go to your C-drive and look for the file 'speedtest.txt'.");    

    }