0

我正在做一个网站(在 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;
}
4

1 回答 1

0

在服务器中创建一个 cron 作业并每 1 分钟运行一次此代码,然后将结果保存在数据库中。您的实时网站可以快速从数据库中加载服务器状态,也可以使用 ajax 来避免页面刷新。

于 2013-09-04T08:01:03.230 回答