Autor Beitrag
tortom1000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Fr 18.02.11 16:40 
Hallo,
ich möchte prüfen, ob ein bestimmter Rechner übers Netzwerk erreichbar ist.
Falls nicht, ist egal, warum, er kann also ausgeschaltet sein oder wird gerade neu gestartet
oder Netzwerkkarte ist deaktiviert oder oder oder.

Dazu sind mir zwei Ansätze eingefallen, die mehr oder weniger gut sind:

1. Schreiben einer Datei in eine Freigabe des zu prüfenden Rechners und anschließendes löschen derselben
Nachteil: irgendwie sehr unsaubere Lösung...
Vorteil: Zugriff auf den Rechner ist "verläßlicher" als beim Pingen.

2. Anpingen (mittels Indy-Komponente) und auswerten der übertragenen Bytes -> 0 Bytes -> Rechner nicht verfügbar
Nachteil: Dauert sehr lange bzw. ist die Abfrage sehr langsam, wenn keine Netzwerkverbindung besteht.
Ferner friert dann das Programm zur Laufzeit des Ping ein. Abhilfe wäre wohl, den Ping in einem Thread
laufen zu lassen (ohne lang drüber nachgedacht zu haben...)

Vieleicht weiß jemand eine einfachere und trotzdem zuverlässige Methode dazu oder hat einige Tipps diesbezüglich
parat?

Gruß
Tortom
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Fr 18.02.11 16:56 
Das mit dem Schreiben in eine Datei hat noch viele weitere Nachteile. Du müsstest nämlich sicherstellen, dass du auf den Rechnern entsprechende Schreibrechte hast, musst auf die Kompatibilität der Betriebssysteme achten etc.

Wieso ist das Anpingen 'sehr langsam'? Benötigst du das Ergebnis innerhalb von Millisekunden? Und dass die Anwendung nicht zwangsläufig einfriert, hast du ja schon selbst geschrieben ;)

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
tortom1000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 175

Win XP, Win Server 2003 - 2012, Win 7
Delphi 7
BeitragVerfasst: Fr 18.02.11 17:02 
Das Ergebnis kann ruhig einige sekunden auf sich warten lassen. Ist wohl
eher so'ne Gefühlssache mit der Langsamkeit.

Du würdest also auch die Ping-Methode in einem Thread vorziehen?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 18.02.11 17:12 
Moin!

user profile icontortom1000 hat folgendes geschrieben Zum zitierten Posting springen:
Das Ergebnis kann ruhig einige sekunden auf sich warten lassen. Ist wohl
eher so'ne Gefühlssache mit der Langsamkeit.
Du kannst ja die Timeout-Zeit anpassen. :nixweiss:

user profile icontortom1000 hat folgendes geschrieben Zum zitierten Posting springen:
Du würdest also auch die Ping-Methode in einem Thread vorziehen?
Hier gibt´s das schon als fertige Lösung. :les: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.