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



## manuelme1 (2. März 2006)

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


----------



## Pestilence (2. März 2006)

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


```
$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.


----------



## manuelme1 (2. März 2006)

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


----------



## Matthias Reitinger (2. März 2006)

PHP läuft auf dem Server – nicht auf dem Client. Der Client bekommt nur die Ausgabe des PHP-Skripts geschickt.


----------

