![]() |
Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist.
Mit WNetEnumResource kann man ja alle möglichen PCs im Netzwerk ermitteln. Nun haben wir aber ein Netzwerk mit über 200 PCs und das würde wahrscheinlich lange dauern.
Wie kann ich also konkrekt ohne ewige Timeouts abfragen, ob ein bestimmter PC dessen Name bekannt ist im Netzwerk ist oder nicht? Die meisten Rechner laufen mit 2000/XP (über einen 2000 Server/ISA verbunden), aber ich denke da gibt es eh eine Universallösung. |
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Ping den Rechner doch einfach an.
|
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Mit ping in der cmd ist klar, aber wie mache ich das in Delphi? Bin in Sachen Netzwerk noch Neuling.
|
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Bei Indy hat es eine Ping-Komponente.
|
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Stimmt, das ist wohl das einfachste. Benutze zwar gerne die Indys, wollte aber in dem Fall darauf verzichten. Aber mal sehen, wie die das realisiert haben.
Danke. |
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Musst mal suchen, es gibt bestimmt Komponenten mit weniger Overhead haben. Oder du machst es selber alles von Hand:
![]() |
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
was heißt Computer in diesem Fall?
Computer allgemein, also auch gewöhnliche Dekstop-PCs? Oder nur spezielle Netzwerkcomputer, also Switchs etc.? |
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Dann will ich auch mal was dazugeben.. hier is mal n Code aus ner Anwendung von mir, in der ich auch pingen wollte.. - Ich verwende die Indy-Kompo "IdIcmpClient"
Delphi-Quellcode:
Vielleicht kannst du´s ja für deine Bedürfnisse anpassen.
procedure Tfrm_main.Label7Click(Sender: TObject);
var i: integer; begin if edIpAdr.Text<>'' then begin memLogFile.Lines.Add('Pingstatus ('+DateTimeToStr(Now)+')'); if edAnzahl1.Text<>'' then begin PageControl1.Enabled:=false; for i:=0 to StrToInt(edAnzahl1.Text) do begin IdIcmpClient1.Host:=edIpAdr.Text; IdIcmpClient1.Ping(); end; PageControl1.Enabled:=true; end else if edAnzahl2.Text='' then begin IdIcmpClient1.Host:=edIpAdr.Text; IdIcmpClient1.Ping(); end; memLogFile.Lines.Add(''); edIpAdr.Clear; end else Application.MessageBox('Please insert a IP Adress to ping', 'Failure', MB_OK+MB_ICONSTOP); end; Sascha |
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Er wollte doch eigentlich auf die Indys verzichten -g-
|
Re: Schnelle Prüfung, ob Computer im Netzwerk erreichbar ist
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz