ホームページ  >  記事  >  バックエンド開発  >  PHP でサーバー ポートに ping を実行するにはどうすればよいですか?

PHP でサーバー ポートに ping を実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-18 11:03:02981ブラウズ

How to Ping a Server Port with PHP?

PHP でサーバー ポートに ping を実行する

PHP では、 fsockopen() 関数を利用して、サーバーが TCP 接続を受け入れるかどうかを確認できます。指定されたポート。方法は次のとおりです。

$host = '193.33.186.70';
$port = 80;
$waitTimeoutInSeconds = 1;
if($fp = fsockopen($host,$port,$errCode,$errStr,$waitTimeoutInSeconds)){
   // It worked
} else {
   // It didn't work
}
fclose($fp);

このスクリプトは、指定された IP アドレスのサーバーがポート 80 で HTTP 接続を受け入れているかどうかを判断します。

注: このアプローチは特殊です。 TCP接続に。 UDP などの他のプロトコルには、より複雑な ping メカニズムを必要とするさまざまな特性があります。

カスタマイズされた ping

より具体的な ping 機能が必要な場合は、次のスクリプトを検討してください。

function pingDomain($domain){
    $starttime = microtime(true);
    $file      = fsockopen ($domain, 80, $errno, $errstr, 10);
    $stoptime  = microtime(true);
    $status    = 0;

    if (!$file) $status = -1;  // Site is down
    else {
        fclose($file);
        $status = ($stoptime - $starttime) * 1000;
        $status = floor($status);
    }
    return $status;
}

このスクリプトは、サーバーの遅延を示す ping 応答をミリ秒単位で提供します。このスクリプトを使用して、ゲームサーバーの可用性と応答時間を監視できます。

以上がPHP でサーバー ポートに ping を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。