Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi per Ping schauen, ob Rechner lebt (https://www.delphipraxis.net/118054-per-ping-schauen-ob-rechner-lebt.html)

Seven 30. Jul 2008 16:43


per Ping schauen, ob Rechner lebt
 
Hallo ich dachte es wäre mit den Indy relativ einfach per Ping Rechner im Netzwerk zu prüfen, doch es klappt bei mir leider nicht.


Delphi-Quellcode:
IdIcmpClient1.Host := '192.168.12.251';
IdIcmpClient1.Ping();
If IdIcmpClient1.ReceiveTimeout = 5000 Then
label1.caption :='Fehler'
else label1.Caption :='klappt';
Da anscheinend ReceiveTimeout als Konstante den Wert 5000 hat, weiss ich nicht wie ich prüfen kann, ob sich ein bestimmter Rechner anpingen lässt oder nicht.

Kann mir jemand bei diesem Problem behilflich sein. Es gibt zwar genügen Threads zu diesem Thema, allerdings keins welches mir mit meinem Problem behilflich ist.

helgew 30. Jul 2008 17:04

Re: per Ping schauen, ob Rechner lebt
 
ich glaube iphlpapi.dll hat eine Ping-Routine. Leider habe ich gerade den Quelltext nicht zur Hand. Ich bin darauf gestoßen, als ich nach trace gesucht hatte.

Klaus01 30. Jul 2008 17:30

Re: per Ping schauen, ob Rechner lebt
 
Guten Abend,

kannst Du nicht den ReplyStatus abfragen?

Zitat:

Zitat von Hilfe zu idIcmpClient
property ReplyStatus: TReplyStatus;

Description

ReplyStatus is a TReplyStatus property used to store a response to an echo request.

ReplyStatus is updated when a receiving a response to an echo request in Ping. When the response to an echo request contains a non-zero length, ReplyStatus is updated with the contents of the echo response datagram.

When the response to an echo request contains 0 bytes, ReplyStatus is updated with values to indicate the error condition, including:

BytesReceived - 0
FromIpAddress - '0.0.0.0'
MsgType - 0
SequenceId - Internal sequence number from TIdIcmpClient
TimeToLive - 0
ReplyStatusType - rsTimeOut

Grüße
Klaus

FAlter 30. Jul 2008 18:27

Re: per Ping schauen, ob Rechner lebt
 
Hi,

der Timeout stellt nur den Timeout ein, also, wann der Vorgang abgebrochen wird. Es wird irgendein Event ausgelöst, wenn der Ping zurückkommt und die Zeit noch nicht abgelaufen ist.

Mfg
FAlter

toms 30. Jul 2008 18:53

Re: per Ping schauen, ob Rechner lebt
 
Hallo, Luckie resp. retnyg hat auch mal eine Ping Routine geschrieben, wäre als Alternative zu Indy: LuckiePing


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz