![]() |
frage zum IdIcmpClient(indy)
Ich schicke mit einem ICMP Client einen Ping an einen beliebigen Server um zu testen ob dieser online ist. Mit Hilfe der Replay-Abrage klappt das auch wunderbar.. aber für den Fall dass der Server offline ist kommt eine Socket-Error-Exception ("Socket-Fehler # 11001 Host nicht gefunden"). Nun meine Frage, wie kann ich diesen Errorcode verarbeiten?! Im gegensatz zum Clientsocket hat der ICMP Client nähmlich kein Socket Error Ereigniss. Das ganze lässt sich sicher auch IdIcmpClient.ReplyStatus.ReplyStatusType lösen, aber bei welchem Ereigniss soll ich den Status abfragen?!
Würde mich über einen Tip freuen MFG Evian PS: :) wenn ich gerade beim fragen bin, hat jemand eine Ahnung, wie ich die Webaddresse bzw. DNS-Addresse über die IP eines Webservers rausbekommen kann? |
Re: frage zum IdIcmpClient(indy)
Hallo Evian,
versuch doch mal deinen Fehler in einer Exception abzufangen.
Delphi-Quellcode:
bye
try
mach.irgendwas; except und_hier_passiert_was_mit_meinem_Fehler; end; |
Re: frage zum IdIcmpClient(indy)
Danke für den Tip...,
aber das kann ich nur nutzen, wenn der Fehler immer der selbe wäre oder es egal wäre, welcher Fehler auftreten würde. Aber in diesem Fall können ja verschiedene Socketfehler auftreten und ich möchte eine richtige Ereignisbehandlungsroutine schreiben in der ich die Fehler unterschiedlich behandeln kann. |
Re: frage zum IdIcmpClient(indy)
Hallo Evian,
und warum machst Du das nicht so?
Delphi-Quellcode:
schau doch einfach mal unter Exception in der Indy Hilfe nach ...
try
mache_irgendwas; except on E:EIdSocketError do {IdSocketError is an EIdException descendant that represents an exception class raised when a general socket error occurs. EIdSocketError is used to represent non-protocol specific socket errors that originate from the protocol stack, and provides the LastError property to reflect the numeric error number.} begin // jetzt machen wir hier was end; end; bye |
Re: frage zum IdIcmpClient(indy)
Danke schön! ... Jetzt funzt es.
|
Re: frage zum IdIcmpClient(indy)
Bei mir steht ständig von undefinierte name. Wie kann ich das beheben? Habe Delphi 2005 mit indy 10
|
Re: frage zum IdIcmpClient(indy)
WAS für ein Undefinierter name?
|
Re: frage zum IdIcmpClient(indy)
Ich habe auch den Fehler undefinierter Bezeichner EIdSocketError
Jemand eine Idee |
Re: frage zum IdIcmpClient(indy)
In Indy9 wird EIdSocketError in IDExceptions definiert,
kannst ja mal die Quelltext von Indy10 nach EIdSocketError durchsuchen. Eventuell hilft es die Unit in den uses mit aufzunehmen. Grüße Klaus |
Re: frage zum IdIcmpClient(indy)
Zitat:
IMHO heisst die Unit, in der EIdSocketError bei Indy 10 definiert ist IdStack. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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