您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

测试一个测网速的脚本,不知道哪里错了

2024/4/14 19:11:06发布11次查看
/*==创建将传输给用户的数据文件==*/ $fp=fopen(cs.txt,w); for($i=0;$i<1704000;$i++){ fwrite($fp,bandwidthkh); } fclose($fp);// ==现在编写计算网络速度的脚本=function microtime_float(){ list($usec, $sec) = explode( , microtime()); return ((float)$usec + (float)$sec);}$data=file_get_contents(cs.txt);$start=microtime_float(); $fsize=filesize(cs.txt)/1024; // filesize返回文件大小的字节数echo 向客户端发送 . $fsize . kb数据
; echo ; $stop=microtime_float();$duration=($stop-$start);echo $duration.s
; $speed=round($fsize/$duration,2); echo your network speed:$speed kb/sec;
结果测出的结果是
达到1g每秒,这不可能啊?
回复讨论(解决方案) 是可能!
你测试的只是
$fsize=filesize(cs.txt)/1024; // filesize返回文件大小的字节数
echo 向客户端发送 . $fsize . kb数据
;
echo ;
这3句执行的速度,与网速无关
microtime(true) 得到的就是 float 类型的秒数
不必再写 microtime_float 函数
以前我用ajax做上传文件时,几g的文件几秒就传好了,所以我觉得用本地的电脑既当服务器又当客户端,这个速度是正常的
是可能!
你测试的只是
$fsize=filesize(cs.txt)/1024; // filesize返回文件大小的字节数
echo 向客户端发送 . $fsize . kb数据
;
echo ;
这3句执行的速度,与网速无关
这是为什么呢?

这个js脚本应该可以吧?
microtime(true) 得到的就是 float 类型的秒数
不必再写 microtime_float 函数
谢谢, 测网速是通过计算一个数据块从a到b的时间进行的,你主贴的只是在单方计算
#4 的代码理论上可行,但如果双方时钟不一致时,误差就极大了
以前我用ajax做上传文件时,几g的文件几秒就传好了,所以我觉得用本地的电脑既当服务器又当客户端,这个速度是正常的
局域网的网速好像是几十m每秒?
以前我用ajax做上传文件时,几g的文件几秒就传好了,所以我觉得用 本地的电脑既当服务器又当客户端,这个速度是正常的
这样的话,你能说是 网速吗?不要自欺欺人了
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product