因为朋友说端口连接不上,特意试了一下用php做Ping测试,结果还是挺满意的。mrDHTML5中文学习网 - HTML5先行者学习网
代码和运行图如下:(如果有大神改进就更好了)mrDHTML5中文学习网 - HTML5先行者学习网
mrDHTML5中文学习网 - HTML5先行者学习网
<?php mrDHTML5中文学习网 - HTML5先行者学习网
$host = 'www.php100.com'; mrDHTML5中文学习网 - HTML5先行者学习网
$port = '80';mrDHTML5中文学习网 - HTML5先行者学习网
$num = 3; //Ping次数 mrDHTML5中文学习网 - HTML5先行者学习网
//获取时间 mrDHTML5中文学习网 - HTML5先行者学习网
function mt_f (){ mrDHTML5中文学习网 - HTML5先行者学习网
list($usec,$sec) = explode(" ",microtime()); mrDHTML5中文学习网 - HTML5先行者学习网
return ((float)$usec + (float)$sec); //微秒加秒 mrDHTML5中文学习网 - HTML5先行者学习网
} mrDHTML5中文学习网 - HTML5先行者学习网
function ping_f($host,$port){ mrDHTML5中文学习网 - HTML5先行者学习网
$time_s = mt_f(); mrDHTML5中文学习网 - HTML5先行者学习网
$ip = gethostbyname($host);mrDHTML5中文学习网 - HTML5先行者学习网
$fp = @fsockopen($host,$port); mrDHTML5中文学习网 - HTML5先行者学习网
if(!$fp)mrDHTML5中文学习网 - HTML5先行者学习网
return 'reply time out!'; mrDHTML5中文学习网 - HTML5先行者学习网
$get = "GET / HTTP/1.1/r/nHost:".$host."/r/nConnect:".$port."Close/r/n"; mrDHTML5中文学习网 - HTML5先行者学习网
fputs($fp,$get); mrDHTML5中文学习网 - HTML5先行者学习网
fclose($fp); mrDHTML5中文学习网 - HTML5先行者学习网
$time_e = mt_f(); mrDHTML5中文学习网 - HTML5先行者学习网
$time = $time_e - $time_s; mrDHTML5中文学习网 - HTML5先行者学习网
$time = ceil($time * 1000); mrDHTML5中文学习网 - HTML5先行者学习网
return 'reply from '.$ip.':'.$port.' time = '.$time.'ms<br />';mrDHTML5中文学习网 - HTML5先行者学习网
}mrDHTML5中文学习网 - HTML5先行者学习网
echo 'ping to '.$host.' ['.gethostbyname($host).'] with port:'.$port.' of data:<br />'; mrDHTML5中文学习网 - HTML5先行者学习网
for($i = 0;$i < $num;$i++){ mrDHTML5中文学习网 - HTML5先行者学习网
echo ping_f($host,$port); mrDHTML5中文学习网 - HTML5先行者学习网
//每次运行中间间隔1S mrDHTML5中文学习网 - HTML5先行者学习网
sleep(1); mrDHTML5中文学习网 - HTML5先行者学习网
//刷新输出缓存 mrDHTML5中文学习网 - HTML5先行者学习网
ob_flush(); mrDHTML5中文学习网 - HTML5先行者学习网
flush(); mrDHTML5中文学习网 - HTML5先行者学习网
} mrDHTML5中文学习网 - HTML5先行者学习网
?>mrDHTML5中文学习网 - HTML5先行者学习网
mrDHTML5中文学习网 - HTML5先行者学习网mrDHTML5中文学习网 - HTML5先行者学习网