比如我一个网站有3条路线。分别是www.a1.com、www.a2.com、www.a3.com用户访问的时候用什么方法检测哪条路线最佳的速度。再跳转到该条路线。有个我是想法用客户端ping值最优来跳转,但是客户端没有办法获取ping值。所以在此请大侠们给个好建议。小弟感激不尽
解决方案 »
- 用ckeditor发布文章,图片路径中多了"/",怎么回事啊,高手指教!
- PHP编程菜鸟遇到了问题~~请各位高手帮助。
- 如果往已有的xml文件中添加记录?
- 急!php连接mysql数据库明明有记录就是不显示?
- 根据这段数据库错误提示能对该mysql网站进行注入攻击吗?
- 一个让我天天晚上都睡不着觉,日思不得其解的问题,快点过来看看呀,兄弟们!~~
- 请教一个mysql高级查询语句:跨表关联的
- 9条记录,我要3*3的显示?怎么做!
- mysql?
- 奇怪的 PHP 语句,求解惑。
- 请问php读取mysql并显示最新添加的20个记录怎么写代码?
- power builder代码 那位大大帮忙转成php的 谢谢了
如果采用ping值来做,那么必须获取客户端的ping值才是最准确的。还有其他方法吗。或许不用ping值来做。
var t1=new Date().getTime();
$.ajax({
url: 'http://www.a1.com/ceshi.php';
type: 'post';
data: {};
success:function(data){var t2=new Date().getTime()-t1;//ceshi返回什么不重要,重要的是数据来回跑花了多少时间,这个时间就是t2;}
}
var arr=new Array('www.a1.com','www.a2.com','www.a3.com');
var t1=new Date().getTime();
var arr2=new Array();
for(var i=0;i<arr.length;i++)
{
$.get('arr[i]'+'/ceshi.php',function(data){var arr2[i]=new Date().getTime()-t1;});//把时间差赋给数组$arr2;
}
var tt=Math.min(arr2);//找到时间最小的那个;
window.location=arr[tt.index];//导向对应的最快的站点!呵呵。不知道我这么做是不是有点多此一举!
如果在www.a1.com上面检测的话。
www.a2.com和www.a3.com是出错的。不能异地发送不同域的GET。
如果还不行,那我就真想不到还有什么好方法可以测试的客户端到服务端的数据传输时间了。
[code=JScrip]var domains = ["www.qq.com", "www.sina.com.cn", "www.sohu.com"];
var output = "";
for (var i = 0; i < domains.length; ++i)
output += "<img src=\"http://" + domains[i] + "\" onerror=\"window.location='http://" + domains[i] + "';\"/>";
document.write(output);
[/code]
我已经测试做过。不能做到选择到最快的那条线路。如果能在客户端获取到ping www.a1.com、www.a2.com、www.a3.com ping值的话。那么问题就可以解决了。
我用你的方法做。JQ有个getJSON能实现跨域,但是每次执行排在最前面的域名肯定得到的ping值小。不知道是什么问题