Comment envoyer un ping à une adresse IP et un numéro de port en PHP
Problème :
Développement un script pour cingler une adresse IP et un numéro de port (IP:port) pour vérifier la disponibilité du serveur.
Solution :
Le script initial fourni ne peut pinger que les sites Web, mais pas IP : ports. Pour résoudre ce problème, une version modifiée peut être utilisée :
<code class="php">function ping($host, $port, $timeout) { $start = microtime(true); $fp = fsockopen($host, $port, $errno, $errstr, $timeout); $end = microtime(true); return $fp ? round((($end - $start) * 1000), 0) . " ms" : "down"; } // Example usage $host = "193.33.186.70"; $port = 80; $ping = ping($host, $port, 10); // Set a timeout of 10 seconds if ($ping != "down") { echo "Server is up with a ping of $ping"; } else { echo "Server is down"; }</code>
Ce script utilise fsockopen() pour établir une connexion TCP à l'adresse IP et au port spécifiés. Il mesure le temps nécessaire pour se connecter et renvoie le temps de ping en millisecondes, ou « en panne » si aucune connexion n'a pu être établie.
Autres considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!