我正在做一个网站(在php中),显示游戏服务器是在线还是离线 我已经设法解决了一些事情并让它发挥作用 但问题是如果多个服务器脱机,网站需要10-20秒才能加载。
如果服务器在线,则立即加载。
即使服务器处于离线状态,有没有办法让网站立即加载?
这是主要功能。(其余的是ip和服务器名称。)
function pingDomain($domain){
global $sport, $lport, $port, $l1, $l2;
if ($domain == $l1){
$port = $lport;
}
else if ($domain == $l2){
$port = $lport;
}
else{
$port = $sport;
}
$starttime = microtime(true);
$file = @fsockopen($domain, $port, $errno, $errstr, 1);
$stoptime = microtime(true);
$status = 0;
if (!$file) $status = -1; // Site is down
else {
fclose($file);
$status = ($stoptime - $starttime) * 1000;
$status = floor($status);
}
return $status;
}
答案 0 :(得分:0)
在服务器中创建一个cron作业并每隔1分钟运行一次该代码,然后将结果保存在数据库中。 您的实时网站可以快速从数据库加载服务器状态,也可以使用ajax来避免页面刷新。