求高手解答网站服务器测速问题
时间:2011-09-28
来源:互联网
知道各个服务器IP,客户端想在网站上实现测速,有点像证券行情或交易软件上的那种服务器测速,看哪个最快。不知道用ping能不能实现?用下面这种方法,测出来和实际不符合(快的花的时间反而比较长)。请问有没有哪位大师知道有其他更好的办法且准确的方法(注:一定要在网页上实现运行)或者像移动邮箱登录测速的那种代码实现。谁能解答下吗
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<script>
tim=1;
//每0.1s tim++
setInterval("tim++",100);
b=1;
//定义数组存放访问站点域名或IP
var autourl=new Array();
autourl[1]="125.46.92.51";
autourl[2]="222.73.228.210";
autourl[3]="58.251.39.41";
autourl[4]="218.18.103.38";
autourl[5]="210.22.9.241";
function butt(){
document.write("<form name=autof>");
//循环提交数据报头,进行HTTP请求
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=url"+i+" size=40> <input type=text name=txt"+i+" size=10 value=测试中……> <br> ");
document.write("<input type=submit value=刷新></form>");
}
butt();
//循环对每个站点访问时间计时
function auto(url){
document.forms[0]["url"+b].value = url ;
if(tim>200)
{
document.forms[0]["txt"+b].value="链接超时";
}
else
{
document.forms[0]["txt"+b].value="时间"+tim/10+"秒";
}
b++;
}
//循环打印计时结果
function run()
{
for(var i=1;i<autourl.length;i++)
document.write("<img src=http://"+autourl[i]+"/"+Math.random()+" width=1 height=1 onerror=auto('http://"+autourl[i]+"')>");
}
run();
</script>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<script>
tim=1;
//每0.1s tim++
setInterval("tim++",100);
b=1;
//定义数组存放访问站点域名或IP
var autourl=new Array();
autourl[1]="125.46.92.51";
autourl[2]="222.73.228.210";
autourl[3]="58.251.39.41";
autourl[4]="218.18.103.38";
autourl[5]="210.22.9.241";
function butt(){
document.write("<form name=autof>");
//循环提交数据报头,进行HTTP请求
for(var i=1;i<autourl.length;i++)
document.write("<input type=text name=url"+i+" size=40> <input type=text name=txt"+i+" size=10 value=测试中……> <br> ");
document.write("<input type=submit value=刷新></form>");
}
butt();
//循环对每个站点访问时间计时
function auto(url){
document.forms[0]["url"+b].value = url ;
if(tim>200)
{
document.forms[0]["txt"+b].value="链接超时";
}
else
{
document.forms[0]["txt"+b].value="时间"+tim/10+"秒";
}
b++;
}
//循环打印计时结果
function run()
{
for(var i=1;i<autourl.length;i++)
document.write("<img src=http://"+autourl[i]+"/"+Math.random()+" width=1 height=1 onerror=auto('http://"+autourl[i]+"')>");
}
run();
</script>
</body>
</html>
作者: piaofeer 发布时间: 2011-09-28
哥们回帖有分啊
作者: liju123456 发布时间: 2011-10-14
很简单的方式,是在不同线路的服务器上各放置一个10几M的测试文件,然后提供链接,让用户点击下载文件,用户自然可以观察到下载速度,虽然下载速度不代表全面的速度,但大体也比较有代表和说服力了。
作者: theforever 发布时间: 2011-10-14
如果是想实现自动化测速然后自动选择最快的服务器进行登录连接,也可以同样方法,只不过文件体积小一点,几十K,然后用AJAX获取,相当于自动下载文件。在此前后各取一下时间进行运算得到时间差,然后比较得到最小那个,并取其对应的服务器IP即可。
至于楼主这个完全不可靠,直接作废,不用想了。
至于楼主这个完全不可靠,直接作废,不用想了。
作者: theforever 发布时间: 2011-10-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28