Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Ping Problem (https://www.delphipraxis.net/31014-ping-problem.html)

Schlingel 2. Okt 2004 19:41


Ping Problem
 
Hallo

Ich habe folgendes Problem:

Mein Delphi Programm sollte mehrere verschiedene (derzeit 12) verschiedene PC's anpingen und
bei bestehender Verbindung Daten aus einer fernen mySql-DB auslesen.
[das ist ja weiter nicht das Problem]

- nur die PC's sind mittels DFÜ mit meinem Rechner verbunden und im besten Fall(ISDN) bin ich
mit 2en verbunden.

- der derzeitige Status ist daß ich der Reihe nach alle 12 IP's anpinge, da aber auch PC's auf
der Gegenseite mittels GSM-Modem verbunden sind (max. Baudrate 9600) muß ich den Timeout von
Ping auf ca. 3000ms setzen.
[und nun fängt das eigentliche Problem an...

1.) bei einem Ping an eine derzeit nicht verbundenen IP wird während des Timeouts das ganze
Programm eingefroren und wegen der erforderlichen Zeit von 3 sek. äusserst unangenehm.


2.) das anpingen von einer derz. nicht verbundenen IP wird nach dem Timeout mit einer
Fehlermeldung "is not a valid IP address" quittiert wobei mir ist nicht klar ist, wie ich
diese Message wegbekomme da diese mit OK zu Kenntniss nehmen muß.


Also langer Rede kurzer Sinn:

Prinzipiell weiß ich für beide Probleme die Lösung, nur leider scheitere ich trotz
Studium der Delphi - Hilfe zum Thema "try..?" und von Luckis "Threads_mit_Delphi" an
der Lösung des Problems.

Wenn mir jemand ein paar Codezeilen zukommen lassen würde wäre mir mehr geholfen als mit
gutgemeinten Verweise auf Tutorials, da ich schon tagelang das Internet nach einen auch für
mich verständlichen (umsetzbaren) Denkanstoß durchforste.


PS: für einen zielführenden Tipp würde ich doch glatt ein Drink springen lassen.


Grüsse

Schlingel

glunzl 2. Okt 2004 20:05

Re: Ping Problem
 
Hallo!

Ich habe mich auch mal an das Thema Threads gemacht. Dabei half mir das Threads Demo-Projekt, welches mit Delphi (7) mitinstalliert wird.

Gruss
Michi

supermuckl 2. Okt 2004 20:10

Re: Ping Problem
 
für das einfrieren müsstest du die ping proceduren in einen thread auslagern der das im hintergrund macht

für die fehlermeldung musst du einfach nur deine ping procedure mit try except umrahmen damit der fehler net an windows weiter gereicht wird oder halt ne messagebox kommt

try
ping(timeoutbla);
except
//pc ist offline ( timeout )
end;

Christian Seehase 2. Okt 2004 20:33

Re: Ping Problem
 
Moin Schlingel,

wie führst Du denn den Ping aus?
Mit den Indys oder über Hier im Forum suchenICMPSendEcho?

Schlingel 2. Okt 2004 20:47

Re: Ping Problem
 
Hallo Christian

...derzeit mit den Indys.(IdIcmpClient)

@supermuckl (muß schmunzeln) aber genau das mit in einen thread auslagen... wenn ich nicht kapiere wie ich das anstellen muß.

Christian Seehase 2. Okt 2004 20:49

Re: Ping Problem
 
Moin Schlingel,

dann denk' dran, dass das in dem Falle nur geht, wenn es mit administrativen Berechtigungen läuft.

Schlingel 2. Okt 2004 21:03

Re: Ping Problem
 
Hallo Christian

Danke für den Hinweis.

Ich hab das mit den Admin-Rechten in den Indys gelesen, nur es funktioniert ja schon und das mit den Rechten stellt auch nicht so ein Problem dar, da diese fernen DFÜ-Anlagen(PC-Netzwerke von 3..70 Rechnern über LWL [Windräder mit jeweils 650..1500kw] nach meinen Vorgaben mit XP-Prof. eingerichtet wurden.

Grüsse


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 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