http://61.150.4.238/default.aspx
http://www.hz.zj.cn/xzcs.html
类似于以上两个站点的网速测试模式就能满足我的需求【问题】:向各位高手请教,如何做一个测试网速的Asp.net程序,能否给我一个设计思路,或者要用到的技术,最好能给出一个Demo程序,谢谢!

解决方案 »

  1.   

    这是以前ASP写的一个简单版, 凑合着看下吧, 办法多的很, 就是让客户端下载点东西, 记录前后时间, 算算就出来了。可以用xmlHttp来下载, 也可以像http://61.150.4.238/default.aspx 这里, 直接用自身的HTML文件大小和页面下载时间来计算
    <html>
    <head>
    <title>网站速度测试</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><%
    Response.Expires=-1
    Response.ExpiresAbsolute=Now()-1
    Response.cachecontrol="no-cache"
    Dim Imgrandom
    Randomize
    Imgrandom = Int(799999 * Rnd + 200000)
    %>
    <script language="javascript" type="text/javascript">function showspeed()
    {
    var fs = 85.136 //img.jpg文件大小(K)
    var l = 3 //小数点的位数
    var et = new Date()
    alltime = fs*1000/(et - st)
    Lnum = Math.pow(10,l)
    calcspeed = Math.round(alltime*Lnum)/Lnum
    showtxt.innerHTML = ("<BR>服务器时间为:<%=now%>,<BR>您在本站的下载速度为:"+calcspeed+" (K/秒)")
    window.status = "您在本站的下载速度为:"+calcspeed+" (K/秒)"
    }
    function showerr()
    {
    showtxt.innerHTML = ("数据下载错误,请刷新重试")
    window.status = "数据下载错误,请刷新重试"
    }window.status = "下载数据中..."
    var st = new Date()
    </script></head><body>
    <img src="images/SpeedTest.jpg?id=<%=Imgrandom%>" style="width:0;height:0" onerror="showerr();" onload="showspeed();"> <button style="font-size:12px;width:80;height:19px;" onclick="location.href='speed.asp?<%=Imgrandom%>'">重新测试</button>
    <span id=showtxt></span>
    </body>
    </html>
      

  2.   

    下载文件的过程如何通过页面显示来体现和控制呢,一旦下载触发,不就跳出了windows窗口了!
      

  3.   

    楼上己有js了,,不过总感觉又js做不是测试服务器的,,是测试浏览器和网速的,,因为js是在浏览器运行,,就是那个页面在浏览器的加载时间
      

  4.   

    To mgzhenhong,你这个javascript好像就是在测试页面加载的速度啊,这个不符合我的需求!