IdIcmpClient
-
Guten Morgen,
hätte villeicht jemand einen Tip für mich ?
Ich möchte in einem Formular darstellen ob bestimmmte Hosts im Netz erreichbar sind und zwar mit IdIcmpClient:
IdIcmpClient1->Host = "192.168.5.250"; try{ IdIcmpClient1->Ping(); if (IdIcmpClient1->ReplyStatus->MsRoundTripTime > 0) { Label1->Font->Color=clGreen; Label1->Caption = IdIcmpClient1->ReplyStatus->MsRoundTripTime; } } catch(...){ Label1->Font->Color=clRed; Label1->Caption = "Offline"; }
Das Funktioniert auch soweit einwandfrei, aber wenn der Host nicht erreichbar ist, dauert ein Durchgang ewig.
Hätte villeicht jemand einen Verbesserungvorschlag für mich... ?
Leider funktioniert meine Borland Hilfe auch nicht
Beste Grüße
-
Timeout Property?
Hier steht noch was interessantes:
http://www.delphipraxis.net/1251-ping-delphi-ausfuehren.html
Ping + Vista = Problem
Keine Ahnung ob das immer noch gilt...mfg
xXx
-
Danke
So hat es bei mir jetzt funktioniert:
IdIcmpClient1->ReceiveTimeout = 20; IdIcmpClient1->Host = "10.68.28.145"; try{ IdIcmpClient1->Ping(); if (IdIcmpClient1->ReplyStatus->BytesReceived > 0) { Label1->Font->Color=clGreen; Label1->Caption = "Online"; } else{ Label1->Font->Color=clRed; Label1->Caption = "Offline"; } } catch(...){ Label1->Font->Color=clRed; Label1->Caption = "Offline"; }
meint ihr, dass das Timeout von 20ms noch ausreichend ist?
MFG