Prüfen, ob eine IP / ein Host erreichbar ist

manuelme1

Grünschnabel
Hallo,

ich programmiere gerade einen Dynamic-DNS-Service, was auch alles ganz gut funktioniert...!

Man muss eine Bestätigungsdatei (hier: ackfile.dat) auf dem Host liegen haben. Wird diese von meinem Script gefunden, so ist der Host online. Wird sie nicht gefunden, ist anzunehmen, dass er offline ist.

Mein Problem liegt jetzt darin, dass ich den Host über fsockopen anspreche, was auch funktioniert, wenn der Host erreichbar ist. Ist der Host allerdings nicht erreichbar, also existiert die IP-Adresse nicht, dann dauert es sehr lange (sicher ca. 20 Sekunden), bis erkannt wird, dass der Host nicht erreichbar ist.

Wer will schon 20 Sekunden warten, um dann angezeigt zu bekommen, dass der Server offline ist...?! ;)

Gibt es also eine Möglichkeit, schneller zu prüfen, ob ein Host erreichbar oder vorhanden ist?

Danke!

mfg
 
Öhm ist es nicht so wie bei dem beispiel hier?

PHP:
$fp = @fsockopen ("IP", PORT, $errorno, $errstr, 5);

Also der letzte Param setzt doch das Timeout und wenn es länger dauert = false ?

Also das BSP funtzt bei mir super an sich.
 
Hey, danke!

Habe die weiteren Parameter ganz vergessen. Ich hatte nur den Host und den Port übergeben.

Jetzt funktioniert es. Ich habe den Timeout auf 2 Sekunden gesetzt!
Kann es allerdings jetzt passieren, dass jemand mit einer langsamen Internetverbindung den Timeout bekommt, obwohl der Host erreichbar ist?

Also ich habe auch nur einen analogen Zugang, und es funktioniert...!

mfg
 

Neue Beiträge

Zurück