0

サーバーがオンラインかオフラインかを確認する簡単なスクリプトがありますが、このスクリプトは目的のサーバーでは機能しないようです。

これはスクリプトです:

$value = mysql_result($result,$i,"servername");
$value2 = mysql_result($result,$i,"serveraddress");
$value3 = mysql_result($result,$i,"portnumber");
$value4 = mysql_result($result,$i,"description");
$id = mysql_result($result,$i,"id");

ob_start();

if (!$socket = @fsockopen($value2, $value3, $errno, $errstr, 1))
{
    echo "&nbsp;<font color='red'><CENTRE><strong>OFFLINE</strong></CENTRE></font>";
}
else 
{
    echo "&nbsp;<font color='green'><CENTRE><strong>ONLINE</strong></CENTRE></font>";  

    fclose($socket);
}
$status = ob_get_contents();
ob_end_clean();
?>

問題は、Google のアドレスとポート 80 を使用すると、Google のオンラインが表示され、外部 IP アドレスと 7000 などのポートを使用すると、サーバーがオンラインであるにもかかわらずオンラインであるかどうかが表示されないことです。これがなぜなのかはわかりませんが、ポートが閉じていることを示しているときにポートを介してデータが送信されていない可能性があると考えています。

誰かがこれに光を当てて、状況を修正してください。

4

0 に答える 0