22 Dicembre 2015 di Daniele Frulla
La funzione di ping di un IP o di un Host è fondamentale se si deve sondare lo stato di una rete o la velocità di comunicazione tra due clients o tra due server.
Spesso è necessario implementarla in PHP per verficare l’esistenza o meno di un servizio o di un server.
Questa semplice funzione può pingare un hosts ad una determinata porta (per esempio potrebbe essere il servizio http quindi la porta 80).
[php]
function ping($host, $port, $timeout = 2) {
$tStart = microtime( true );
$fP = @fSockOpen($host, $port, $errno, $errstr, $timeout);
if ( !$fP ) {
return false;
}
$tEnd = microtime(true);
return round((($tEnd – $tStart) * 1000), 4);
}
[/php]
La funzione restituisce un numero a 4 decimali che rappresenta la velocità in millesecondi che impiega la rete per rispondere. Il timeout è impostato di default a 2 secondi.
Più millesecondi impiega e maggiore sarà la lentenza per utilizzare quel determinato servizio.
Una risposta false indica che il server impiega troppo tempo per rispondere o semplicemente non esiste.
Verificare che un server sia up o down è anche utilizzato nella programmazione parallela. Infatti lo si può sfruttare la conoscenza della velocità di comunicazione fra due servers come parametro di scelta per individuale i migliori servers con cui dovresti comunicare per primo.
Lascia un commento