<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<meta http-equiv="Content-Language" content="zh-cn" />
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="emu">
<META NAME="Keywords" CONTENT="emu">
<META NAME="Description" CONTENT="net work tester">
<TITLE> 网络速度测试 </TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var resources = [
"http://www.csdn.net/",
"http://community.csdn.net/",
"http://blog.csdn.net/",
"http://chat.csdn.net/",
"http://mag.csdn.net/",
"http://blogdev.csdn.net/",
"http://mobile.csdn.net/",
"http://training.csdn.net/",
"http://job.csdn.net/",
"http://wiki.csdn.net/",
"http://dev.csdn.net/",
"http://news.csdn.net/",
"http://61.186.252.131/"
];
var result = [];
var succCount,failCount,t0,checktimes = 10;
var minLength = 1;
var timeCount,fso,fsos,fileName;
try{
fso = new ActiveXObject("Scripting.FileSystemObject");
}catch(e){
alert("对不起,您的操作系统不支持文件系统对象,无法完成测试");
close();
}
function testAsync(){
var s = location.href.replace(/file:\/*/,"");
s = s.substring(0,s.lastIndexOf("/")+1).replace(/\//g,"\\").replace(/%20/g," ")
if(/\\temp\\rar\$/i.test(s)){alert("请把文件解压到本地目录再运行");close();return;}
with(document.getElementById("f"))
if(defaultValue ==value || value==""){alert("请先填写测试地点");focus();select();return;}
if((document.fo.nType[0].checked||netType.value==netType.defaultValue) && !confirm("您真的无法确认您所使用的网络类型吗?"))return;
if(netType.value==""){alert("请选择网络类型");return;}
fileName = s+document.getElementById("f").value+"的测试报告.htm"
clipboardData.setData('Text',fileName);
fsos = fso.CreateTextFile(fileName,true);
fsos.WriteLine("<html>\n<head>\n \t<title>"+document.getElementById("f").value+"的测试报告</title> \n</head>")
var d = new Date();
fsos.WriteLine("<body>\n<table align=center bgcolor=black cellspacing=1><tbody bgcolor=white>\n\t<tr>\n\t\t<td colspan="+(checktimes+2)+">\n\t\t\t");
fsos.WriteLine(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日 "+d.getHours()+":"+d.getMinutes()+" "+document.getElementById("f").value+"的测试报告。网络类型:"+netType.value);
fsos.WriteLine("\t\t</td>\n\t</tr>");
fsos.WriteLine("\t<tr>\n\t\t<td>资源地址</td>");
for(var i=0;i<checktimes;i++)
fsos.WriteLine("\t\t<td>第"+(i+1)+"轮</td>");
fsos.WriteLine("\t\t<td>平均时延</td>\n\t</tr>");
document.getElementById("testButton").disabled=true;
testResource(0);
}
function testResource(u){
window.currentRound = u;
if(u>=resources.length) {
document.title = "测试已完成。";
fsos.WriteLine("</table></body></html>");
fsos.Close();
document.getElementById("testButton").disabled=false;
if (confirm("测试完成,测试报告已经保存到“"+fileName+"”,您想现在把这个文件发送到 test@test.com吗?")){
window.open(fileName).document.title="这是测试结果,请吧这个文件作为附件发送到test@test.com";
window.open("mailto:test@test.com?subject="+document.getElementById("f").value+" 的测试报告&body=test你好,附件中是我们的测试结果。&attach='"+fileName+"'");
}
close();
return;
}
document.title = "共"+resources.length+"组,正在测试第"+(u+1)+"组。进度 "+Math.round(100*u/resources.length)+"%";
succCount=failCount=timeCount=0;
var url = resources[u];
output.innerHTML += "<br/>正在测试"+url+"<br/>";
fsos.WriteLine("\t\<tr>\n\t\t<td>"+url+"</td>");
for(var i=0;i<checktimes;i++){
window["xmlhttp"+i] = new ActiveXObject("microsoft.XMLHTTP");
window["xmlhttp_startAt"+i]= new Date();
window["xmlhttp"+i].onreadystatechange = new Function("f("+i+")");
//window["xmlhttp"+i].open("get",url+(/\?/.test(url)?"&":"?")+"p="+Math.random(),true);
window["xmlhttp"+i].open("get",url,true);
window["xmlhttp"+i].setRequestHeader("If-Modified-Since","0");
window["xmlhttp"+i].send("");
}
}
function f(i){
var xmlhttp = window["xmlhttp"+i];
if (xmlhttp.readyState == 4)
{
var d = new Date();
timeCount += (d-window["xmlhttp_startAt"+i]);
var itemTimeCount = d-window["xmlhttp_startAt"+i];
var responseLength = xmlhttp.responseText.length;
if(responseLength>minLength){
output.innerHTML += "第"+i+"次 成功获得"+responseLength+"字节数据,耗时"+itemTimeCount+"毫秒<br/>";
fsos.WriteLine("\t\t<td><font color=green>"+itemTimeCount+"</font></td>");
succCount++;
}else{
output.innerHTML += "第"+i+"次 <FONT SIZE=5 COLOR=red>失败</FONT> 耗时"+itemTimeCount+"毫秒。获得"+responseLength+"字节数据<br/>";
fsos.WriteLine("\t\t<td><font color=red>"+itemTimeCount+"</font></td>");
failCount++
}
output.scrollTop = output.scrollHeight;
if(succCount+failCount==checktimes){
var avg = Math.round(timeCount/checktimes*100)/100;
output.innerHTML += "<BR>成功<font color=green>"+succCount+"</font>次,失败<font color=red>"+failCount+"</font>次,平均时延"+avg+"毫秒<hr>";
fsos.WriteLine("\t\t<td>"+avg+"</td>");
testResource(window.currentRound+1);
}else{
var s = Math.round((window.currentRound*checktimes+succCount+failCount)/(checktimes*resources.length)*100);
document.title = document.title.replace(/(\d+%)/,s+"%");
}
}
}
//-->
</SCRIPT>
测试前请先填写测试地点和测试人:
<form name="fo">
<input id="f" size=70 value="××省××市××区 ×××" onclick="select()">
<BR><BR>网络类型:
<input type="radio" name="nType" value="未知" id="nType1" onclick="netType.value=value" checked><label for="nType1">未知</label>
<input type="radio" name="nType" value="电信" id="nType2" onclick="netType.value=value"><label for="nType2">电信</label>
<input type="radio" name="nType" value="联通" id="nType3" onclick="netType.value=value"><label for="nType3">联通</label>
<input type="radio" name="nType" value="网通" id="nType4" onclick="netType.value=value"><label for="nType4">网通</label>
<input type="radio" name="nType" value="铁通" id="nType6" onclick="netType.value=value"><label for="nType6">铁通</label>
<input type="radio" name="nType" value="有线电视" id="nType7" onclick="netType.value=value"><label for="nType7">有线电视</label><BR>
<input type="radio" name="nType" value="小区局域网" id="nType8" onclick="netType.value=value"><label for="nType8">小区局域网(小区宽带)</label>
<input type="radio" name="nType" value="教育网" id="nType9" onclick="netType.value=value"><label for="nType9">教育网</label>
<input type="radio" name="nType" value="科技网" id="nType0" onclick="netType.value=value"><label for="nType0">科技网</label>
<input type="radio" name="nType" value="" id="nType99" onclick="netType.value='';netType.focus();"><label for="nType99">其他(请注明)</label>
</form>
网络类型:<input id="netType" value="未知">
<br/><br/><button onclick="testAsync()" id="testButton">测试</button>
<BR><BR>
<div id="output" style="border:1 solid gray;width:95%;height:400;overflow-y:scroll"></div>
</BODY>
</HTML>
分享到:
相关推荐
speed-test - 测试你的网络连接速度和ping命令
JS速度测试使用javascript测试用户的粗略连接速度的基本方法。 返回的值以Kbps为单位,但是它不是很准确,因为它没有考虑网络延迟,所以它是一个粗略的主意。 这是一个非常基本的工具,因为它非常轻巧(最小2Kb)。 ...
1. **Node.js与MySQL**:Node.js是基于Chrome V8引擎的JavaScript运行环境,以其异步非阻塞I/O模型而闻名,非常适合处理网络请求和数据库操作。MySQL是流行的开源SQL数据库,与Node.js结合可以创建高性能的Web应用...
5. **安全评估**:JavaScript可以用于检测网络连接的安全性,例如HTTPS证书的有效性。 6. **兼容性测试**:不同浏览器对JavaScript的支持程度不同,软件可能包含针对各种浏览器的兼容性测试。 7. **用户交互**:...
虚拟机网络连接主要涉及以下几种模式: 1. **桥接模式(Bridge Mode)**:虚拟机的网络接口直接桥接到物理主机的网卡上,虚拟机与物理网络设备在同一网段,可以获取到真实的IP地址,能直接与其他设备通信。 2. **...
之后,您可以访问Web界面以查看有关Internet连接速度的每小时-可过滤的报告。 截屏 Docker Hub映像 您可以在以下位置获取可公开使用的映像: 。 事实 默认情况下,speedtest每小时运行一次 nginx已准备就绪,但尚未...
1. **Node.js基础知识**:Node.js基于Chrome V8引擎,它允许开发者使用JavaScript编写服务器端程序,提供了异步I/O、事件驱动的模型,非常适合处理大量并发连接,这使得它在网络条件模拟方面具有潜力。 2. **模拟...
标题中的"tcpip测试工具"是指一类专门用于检查、诊断和验证TCP/IP网络连接和协议栈功能的软件。这些工具可以帮助网络管理员、开发人员或普通用户检测网络问题,优化网络性能,或者调试应用程序的网络部分。 描述中...
Node.js的设计使得它能够处理大量并发连接,尤其适合实时、数据密集型的网络应用,如实时聊天、协作工具、流媒体服务等。 **V8引擎** V8引擎是Node.js的心脏,它是Google为Chrome浏览器开发的高性能JavaScript引擎...
当遇到"ASP.NET开发的网页在浏览器中运行速度特别慢"的问题时,这可能是由多种因素引起的,包括但不限于网络延迟、服务器响应时间、JavaScript执行效率、CSS和HTML的加载顺序等。为了找出问题的症结所在,我们可以...
标题中的“测试上网速度的ASP程序”指的是一个基于Active Server Pages (ASP)技术开发的应用,其主要功能是测量用户互联网连接的速度。ASP是微软在Web开发领域推出的一种服务器端脚本语言,它允许开发者创建动态网页...
本文所提及的Javascript网络监测方法主要通过浏览器提供的接口来实现对网络状态的检测和网络速度的估算。 #### 获取网络连接状态 Javascript通过`navigator.onLine`属性来检测设备是否连接到互联网。该属性返回一个...
网速测试】提供的是一套轻量级、易于部署的网络速度测试解决方案,涵盖了基本的测速和定位功能,对于网站管理员、网络运维人员以及普通用户来说,都是一个实用的工具,可以帮助他们了解和优化网络连接性能。
离线版本的JSBin使得在没有网络连接的情况下,开发者依然可以使用这一功能丰富的工具进行代码实验。 **离线版的构成与工作原理** 离线版本的JSBin通常包含以下关键组件: 1. **入口文件**:`index.html`是离线版...
在IT行业中,网络速度测试、IP地址查询以及网络延迟检测是网络管理与优化的重要环节。这些功能对于确保网络性能和用户上网体验具有至关重要的作用。本文将深入探讨这些概念及其在实际应用中的重要性。 首先,"测试...
JS1082驱动程序是一款专为USB网卡设计的驱动软件,主要用于确保JS1082型号的USB网络适配器能够与计算机系统无缝对接,实现稳定的网络连接。USB网卡作为一种便捷的网络解决方案,允许用户通过USB接口在没有内置网络...
4. **SpeedTest**: SpeedTest通常指的是网络速度测试,用来测量网络连接的上传速度、下载速度以及延迟。这个项目可能包含了一个实现Web浏览器内速度测试功能的脚本或应用,让用户能够方便地检查自己的网络状况。 5....
连接速度测试评估不同网络环境下的响应速度,以优化用户体验。负载测试通过模拟多用户并发访问,检测系统在高负载下的稳定性。压力测试则通过极限测试,观察系统在极端条件下的行为,以评估其耐受和恢复能力。 测试...
5. 应用的网络功能:可能涉及到登录验证、数据同步等方面,需要测试网络连接的稳定性和速度。 这些知识点对于Android开发者和测试工程师来说非常重要,它们直接关系到应用的质量和用户体验。通过详细测试这些方面,...