社区
基础编程
帖子详情
最佳路线跳转问题.在线等
ziyou_jo
2011-02-19 11:18:41
比如我一个网站有3条路线。分别是www.a1.com、www.a2.com、www.a3.com
用户访问的时候用什么方法检测哪条路线最佳的速度。再跳转到该条路线。
有个我是想法用客户端ping值最优来跳转,但是客户端没有办法获取ping值。所以在此请大侠们给个好建议。小弟感激不尽
...全文
399
14
打赏
收藏
最佳路线跳转问题.在线等
比如我一个网站有3条路线。分别是www.a1.com、www.a2.com、www.a3.com 用户访问的时候用什么方法检测哪条路线最佳的速度。再跳转到该条路线。 有个我是想法用客户端ping值最优来跳转,但是客户端没有办法获取ping值。所以在此请大侠们给个好建议。小弟感激不尽
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kaifadi
2011-02-19
打赏
举报
回复
[Quote=引用 7 楼 ziyou_jo 的回复:]
我用ajax做过了。
如果在www.a1.com上面检测的话。
www.a2.com和www.a3.com是出错的。不能异地发送不同域的GET。
[/Quote]
你用$.post试,然后在参数后面true/false都试一下。同步/异步!
如果还不行,那我就真想不到还有什么好方法可以测试的客户端到服务端的数据传输时间了。
ziyou_jo
2011-02-19
打赏
举报
回复
我用ajax做过了。
如果在www.a1.com上面检测的话。
www.a2.com和www.a3.com是出错的。不能异地发送不同域的GET。
kaifadi
2011-02-19
打赏
举报
回复
[Quote=引用 5 楼 falizixun2 的回复:]
以客户端打开网页执行为开始点,然后返回数据到服务器上,并执行PHP页面为终点,我建议你可以用JQ做一个AJAX的应用,把开始时间记录下来,然后等到其开始访问服务器的把数据返回到客户端,这样不管客户端时间到底是几点,重要的是这2个时间差就是数据传递到服务器的时间!
var t1=new Date().getTime();
$.ajax({
url: 'http://www.a1.com/……
[/Quote]
套上面的结构,你可以这么操作:
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];//导向对应的最快的站点!呵呵。不知道我这么做是不是有点多此一举!
kaifadi
2011-02-19
打赏
举报
回复
以客户端打开网页执行为开始点,然后返回数据到服务器上,并执行PHP页面为终点,我建议你可以用JQ做一个AJAX的应用,把开始时间记录下来,然后等到其开始访问服务器的把数据返回到客户端,这样不管客户端时间到底是几点,重要的是这2个时间差就是数据传递到服务器的时间!
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;}
}
ziyou_jo
2011-02-19
打赏
举报
回复
用什么方法进入服务器的时间准确呢。
kaifadi
2011-02-19
打赏
举报
回复
让客户端每个服务器都进入一次。A1,A2,A3都进一次,看看客户端进入哪个服务器时间最短,然后就让它进入对应的服务器。
ziyou_jo
2011-02-19
打赏
举报
回复
php是服务器端的。获取的只是服务器端的ping值。
如果采用ping值来做,那么必须获取客户端的ping值才是最准确的。
还有其他方法吗。或许不用ping值来做。
Abin-2008
2011-02-19
打赏
举报
回复
http://blog.csdn.net/gumanren/archive/2010/07/21/5752394.aspx
php ping ip
wzwen
2011-02-19
打赏
举报
回复
这个不要用php
直接用cdn
ziyou_jo
2011-02-19
打赏
举报
回复
[Quote=引用 6 楼 falizixun2 的回复:]
引用 5 楼 falizixun2 的回复:
以客户端打开网页执行为开始点,然后返回数据到服务器上,并执行PHP页面为终点,我建议你可以用JQ做一个AJAX的应用,把开始时间记录下来,然后等到其开始访问服务器的把数据返回到客户端,这样不管客户端时间到底是几点,重要的是这2个时间差就是数据传递到服务器的时间!
var t1=new Date().getTime();
$.ajax({
u……
[/Quote]
我用你的方法做。JQ有个getJSON能实现跨域,但是每次执行排在最前面的域名肯定得到的ping值小。
不知道是什么问题
ziyou_jo
2011-02-19
打赏
举报
回复
[Quote=引用 10 楼 hst0012010 的回复:]
像这种情况一般是判断其IP,网通的用网通的,电信的用电信的,然后就是用IP判断地址,连接就近的服务器
[/Quote]
这种方法不能做到详细速度的分流。
[Quote=引用 11 楼 zjerryj 的回复:]
网上看到一段代码,很有趣,楼主可以试一试:
[code=JScri]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://" + doma……
[/Quote]
我已经测试做过。不能做到选择到最快的那条线路。
如果能在客户端获取到ping www.a1.com、www.a2.com、www.a3.com ping值的话。那么问题就可以解决了。
张吉Jerry
2011-02-19
打赏
举报
回复
网上看到一段代码,很有趣,楼主可以试一试:
[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]
朱丽叶与驴斗殴
2011-02-19
打赏
举报
回复
像这种情况一般是判断其IP,网通的用网通的,电信的用电信的,然后就是用IP判断地址,连接就近的服务器
朱丽叶与驴斗殴
2011-02-19
打赏
举报
回复
处于安全考虑,Ajax不可以跨域
[Quote=引用 7 楼 ziyou_jo 的回复:]
我用ajax做过了。
如果在www.a1.com上面检测的话。
www.a2.com和www.a3.com是出错的。不能异地发送不同域的GET。
[/Quote]
百度地图苹果手机
★百度地图新年版,带你回家★ ★AppStore中国区免费金榜Top1,分类排行榜最佳地图应用★★每三个智能手机用户,就有一个在使用百度地图★★★ 【新增功能】1. 跨城市实时路况,城际高速公路增加实时路况信息,春节...
亮剑.NET深入体验与实战精要2
多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习
路线
。本书既考虑到实际开发...
零基础学习微信小程序开发到精通
认识微信小程序、开发者工具、小程序开发、小程序常见组件、小程序常见样式、函数和事件、数据绑定、常用API、小程序生命周期、变量、运算符、...函数、箭头函数、Promise风格、全局js和页面js、携带参数页面
跳
转
......
亮剑.NET深入体验与实战精要3
多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习
路线
。本书既考虑到实际开发...
1945:1945网络游戏
为了获得最佳效果,请使用Chrome。 控制项 箭头键Left , Right , Up和Down进行操纵, s进行拍摄。 Heroku配置 ENV 价值 BUILDPACK_URL PATH bin:node_modules / .bin:/ usr / local / bin:/ usr / bin:/ ...
基础编程
21,887
社区成员
140,363
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章