Mike© : eigene IP-Nummer ermitteln

Beitrag lesen

Moin Norbert,

gelegentlich setzt hier im Wald die Verbindung teilweise aus. Was eigentlich immer geht, ist der DNS. Deshalb suche ich verlaessliche Methoden um die Verbindung zu testen. Als erstes viel mir dazu dies ein. Dabei msste ich jedoch feststellen, dass die Verfuegbarkeit von uris.de nicht wirklich gut ist. Aber man zahlt bei diesem Provider im Jahr das, was man bei 1&1 im Monat abdruecke muss. Also suche ich Ausweichloesungen. Das Testscript laeuft natuerlich hier local alle 2 min als Cli-PHP-Script unter "geplante Tasks".

Aha, lokaler WebServer. Prima.

Ich habe das ganze wie folgt gelöst.

Bei DNIP kostenlos registrieren.
Eines der Update Tools herunterladen und laufen lassen.

Dann mit einem Script die Verfügbarkeit testen.

Nehmen wir an, das Du dir bei DNIP folgende URL registriert hast:
norbert100.dnip.net
dann könnte das Kontroll Script (auf Deinem localhost) so aussehen:

[code lang=php]
<?PHP

$host='norbert100.dnip.net';
$port=80;

$IP=gethostbyname($host);

$starttime=microtime();
$Timestamp_Start=time();
$socket=fsockopen($host,$port);
$endtime=microtime();
$Timestamp_End=time();

$Current_Date=date('d/m/Y');
$Current_Time=date('H:i');

if ( $socket!=false )
   {
 fclose($socket);
 list($msec,$sec)=explode(" ",$starttime);
 $starttime=(float)$msec+(float)$sec;
 list($msec,$sec)=explode(" ",$endtime);
 $endtime=(float)$msec+(float)$sec;
 $pingtime=($endtime-$starttime)*1000;
 $Seconds=$Timestamp_End-$Timestamp_Start;
   }
else
   {
 $pingtime=-1;
   }

if ( $pingtime != -1 )
   $Ping_String=sprintf("%s | %s | %s | %d sec | %0.2f ms |\r\n",$Current_Date,$Current_Time,$IP,$Seconds,$pingtime );
else
   $Ping_String=sprintf("%s | %s | No connect\r\n",$Current_Date,$Current_Time);

$pointer=fopen("c:/daten/WebServer_Logs/ping_log.txt","a");

if ( $pointer)
   {
 fwrite($pointer,$Ping_String);
 fclose($pointer);
   }
?>
[/code

regds
Mike©

--
Freunde kommen und gehen. Feinde sammeln sich an.