Seite 1 von 1
Server an pingen
Verfasst: 22.03.2005 01:01
von tom123456l
Hallo,
ich bräuchte ein verfahren, einen server mit php anzupingen.
ich hab was von sockets gehört, mir das ganze auch angesehen, aber irgendwie bekomme ich es selbst nicht hin....
ein tipp war, ein packet mit einer socketverbindung zu einem server zu schicken, es zu empfangen und die zeitdifferenz dazwischen zu messen...
kann mir jemand dabei helfen?
ciao
tom
Verfasst: 22.03.2005 01:24
von admin
Hallo Tom,
verwende die Funktion.
Code: Alles auswählen
<?php
/*
Ping über HTTP
Aktion: PHP Scripte für die armen dieser Welt
Der Erlös geht für mein Pausenbrot drauf
Copyright (c) 2005 by Phillip 'Firebird' Berndt
Da man ICMP aus PHP heraus nicht verwenden
kann und echod(7) auf den meisten Servern
deaktiviert ist, verwendet diese Funktion
das HTTP Protokoll zur Zeitmessung.
Eventueller Load des Servers wird hier nicht
berücksichtigt!!!
*/
function ping($server, $count = 5, $debug = false)
{
$timeNeeded = 0;
for($i=0;$i<$count;$i++)
{
if($debug)
echo('Ping '.$server.' '.$i.' (Sending 18 bytes) ');
$socket = @fsockopen($server, 80, &$errno, &$errstr, 3);
if(!$socket) return false;
fwrite($socket, "GET / HTTP/1.1\r\n\r\n");
$start = microtime(true);
fgetc($socket);
$duration = microtime(true) - $start;
if($debug)
echo($duration.' s'."<br/>\n");
fclose($socket);
$timeNeeded += $duration;
if($debug)
flush();
}
$timeNeeded /= $count;
return round($timeNeeded, 3);
}
echo('Ping zu Cgiforum: '.ping('www.cgiforum.de').' s');
?>
mfg. Nico
Verfasst: 06.05.2005 19:44
von Milch-Schnitte
Fals du nochmal vorbeischauen solltest, könnte es nicht auch über die eingabeaufforderung gehen mit "ping XXX.XXX.XXX.XXX" ?!
Verfasst: 10.05.2005 14:58
von admin
Milch-Schnitte hat geschrieben:Fals du nochmal vorbeischauen solltest, könnte es nicht auch über die eingabeaufforderung gehen mit "ping XXX.XXX.XXX.XXX" ?!
Nun ja, mit den Script Code kann man ein Online Tool auf seiner Homepage anbieten.
mfg. Nico