友人がポートに接続できないと言っていたので、特別にphpを使ってpingテストをしてみたところ、結果はかなり満足のいくものでした。
コードと実行図は次のとおりです: (誰かが改善できると良いです)
$host = 'www.php100.com'
;$port = '80';
$num = 3; // ping 回数
//時間を取得します
関数 mt_f (){
list($usec,$sec) =explode(" ",microtime());
return ((float)$usec + (float)$sec) //マイクロ秒プラス秒
}
関数 ping_f($host,$port){
$time_s = mt_f();
$ip = gethostbyname($host);
$fp = @fsockopen($host,$port);
if(!$fp)
return '返信タイムアウト!'
;$get = "GET / HTTP/1.1rnHost:".$host."rnConnect:".$port."Closern";
fputs($fp,$get);
fclose($fp);
$time_e = mt_f();
$time = $time_e - $time_s;
$time = ceil($time * 1000)
return 'reply from '.$ip.':'.$port.' time = '.$time.'ms<br />';
}
echo 'ping to '.$host.' ['.gethostbyname($host).'] with port:'.$port.' of data:
for($i = 0;$i
エコー ping_f($host,$port);
//各実行の間隔は 1 秒です
スリープ(1)
//出力キャッシュを更新します
ob_flush();
フラッシュ()
}
?>