我正试图找到一种使用PHP或Javascript测试网络速度的方法。
这可能吗?
我非常想测试速度,并动态决定向客户提供多少内容...
我应该指出我主要是谈论移动设备。大多数宽带连接差别很小,所以我的目的是衡量某人是连接到WiFi网络还是在蜂窝数据网络上挣扎。
答案 0 :(得分:2)
执行ajax请求以下载固定大小的数据块并检查之前/之后的时间以大致了解速度:
var start = new Date();
$.ajax(....);
var end = new Date();
var elapsed = end.getTime() - start.getTime(); // elapsed time in milliseconds.
您需要使用足够大的数据块来获取有效请求,这意味着您只是为了进行此测试而浪费了相当多的带宽。
答案 1 :(得分:1)
他们看待它,你可以使用JS - > PHP - > JS调用并计算响应时间,但这是非常不准确的。此外,您需要使用相当数量的数据(过多的带宽使用问题),并且由于浏览器之间存在/不存在服务器标头,因此永远不会得到明确的答案。还有一个问题是服务提供商( cough comcast cough ),他们在前几秒为你提供12兆位的速度,但是之后会把你扼杀到3mbits,所以现在你的“测试”会说他们在OC线上,但是流本身现在会有数据不足并且不断缓冲。
最好的解决方案是构建流媒体协议中的逻辑,该协议可根据数据/数据的进入情况进行调整。也许它从低带宽质量开始,并在注意到缓冲区增长时提高标准比数据播放速度快(这是Hulu,YouTube或亚马逊视频所做的)。