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 サイトの他の関連記事を参照してください。