【发布时间】:2011-11-16 23:19:04
【问题描述】:
大家好,我正在制作一个网站,您可以在其中提交服务器以进行广告。当用户进入我网站的索引页面时,它会抓取所有提交的服务器的 ip,然后使用 fsockopen() 测试它是否在线,如下所示:
while($row = mysql_fetch_assoc($rs)) {
$ip = $row['ip'];
$info = @fsockopen($ip, 25565, $errno, $errstr, 0.5);
if($info) {
$status = "<div><img width='32px' height='32px'
title='$name is online!' src='images/online.png'/></div>";
$online = true;
} else {
$status = "<div><img width='32px' height='32px'
title='$name is offline!' src='images/offline.png'/></div>";
$online = false;
}
}
}
这种方式工作正常,但唯一的缺点是当您加载网站时,由于调用了 fsockopen() 方法,需要 2-4 秒才能开始加载网站。我想知道是否有更好的方法来减少网站加载前的等待时间。
任何信息将不胜感激,谢谢。
【问题讨论】: