Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ping mit Turbo Delphi möglich? (https://www.delphipraxis.net/140234-ping-mit-turbo-delphi-moeglich.html)

JPSelter 14. Sep 2009 09:23


Ping mit Turbo Delphi möglich?
 
Hallo Forum!

Ich kehre nach 3 Jahren Abstinenz wieder zurück zu Delphi und frage mich, ob sich inzwischen etwas mit den Einschränkungen von dem damals kostenlos erhältlichen Turbo Delphi getan hat. Damals war es so, dass es kostenlos war, solange man keine ThirdParty-Komponenten benutzen will. Nun brauche ich aber eine Möglichkeit, den Status eines Netzwerkrechnern über Ping abzufragen. Soweit ich weiß, geht das aber nur mit der Indy-Komponente (die ich ja nicht nutzen kann wegen der ThirdParty-Einschränkung), richtig? Oder liege ich falsch?

Danke für sachdienliche Hinweise!

Balu der Bär 14. Sep 2009 09:27

Re: Ping mit Turbo Delphi möglich?
 
Moin,

du kannst theoretisch und praktisch jede Fremdkomponente in Turbo Delphi benutzen. Auf offiziellem Wege kannst du diese zwar nicht in die IDE installieren, aber das musst du auch nicht. Du kannst ganz einfach jede Komponente im Source erzeugen.

Komponenten in Turbo Delphi benutzen

Ansonsten kann du natürlich auch dir Original-dclusr-Dateien besorgen und Fremdkomponenten direkt in die IDE installieren. ;)

Ansonsten findest du hier eine Unit, die du einfach einbindest und die Funktion Ping() aufrufst. Somit kannst du auf die Indy's verzichten.

Bernhard Geyer 14. Sep 2009 09:27

Re: Ping mit Turbo Delphi möglich?
 
Erstens wird Indy mitgeliefert und die compilierung von 3th-Party-Kompos in TD ist möglich. Du kannst sie "nur" nicht in der IDE installieren, aber jederzeit per "Hand" im Quellcode erzeugen. Für Ping dürfest du mit 10 Zeilen Quellcode und den ICS-Kompos einen PING hinbekommen.

toms 14. Sep 2009 09:29

Re: Ping mit Turbo Delphi möglich?
 
LuckiePing

Medium 14. Sep 2009 09:31

Re: Ping mit Turbo Delphi möglich?
 
Nur so am Rande: Alles was eine Komponente machen könnte, kannst du natürlich auch selber erledigen. Die haben ja nicht's magisches an sich, oder mehr "Rechte". Man kann daher sicherlich auch ohne die Indys pingen, es dürfte dann halt nur etwas mehr als 1-3 Zeilen werden. Wie man das nun detailiert anstellt weiss ich nicht, aber ich bin mir fast sicher dass man dazu so einiges finden können sollte.
Aber mit hineingezwungenen Indys ist man wahrscheinlich schneller fertig :]

JPSelter 14. Sep 2009 09:34

Re: Ping mit Turbo Delphi möglich?
 
Ich hatte ganz vergessen, wie schnell man hier eine Antwort bekommt :-) Vielen Dank an Euch, Ihr habt natürlich Recht, ich packe die Ping-Funktion einfach in meinen Code rein :-)

Klaus01 14. Sep 2009 09:34

Re: Ping mit Turbo Delphi möglich?
 
.. noch eine kleine Anmerkung:
Der Indy-Ping benötigt Adminrechte.

Grüße
Klaus

mjustin 14. Sep 2009 10:21

Re: Ping mit Turbo Delphi möglich?
 
Zitat:

Zitat von Klaus01
.. noch eine kleine Anmerkung:
Der Indy-Ping benötigt Adminrechte.

Grüße
Klaus

Ping benötigt eigentlich immer Adminrechte. Das ping auf der Kommandozeile bekommt sie durch Microsoft Windows-interne 'Magie' bei der Ausführung zugeteilt ... ;)

Cheers,

Bernhard Geyer 14. Sep 2009 10:28

Re: Ping mit Turbo Delphi möglich?
 
Zitat:

Zitat von mjustin
Ping benötigt eigentlich immer Adminrechte. Das ping auf der Kommandozeile bekommt sie durch Microsoft Windows-interne 'Magie' bei der Ausführung zugeteilt ... ;)

AFAIK haben die ICS-Komponenten auch diese "Magie"

Assertor 14. Sep 2009 10:29

Re: Ping mit Turbo Delphi möglich?
 
Hi,

Zitat:

Zitat von Klaus01
.. noch eine kleine Anmerkung:
Der Indy-Ping benötigt Adminrechte.

Recht hast Du, aber mal auch eine kleine Erklärung warum:

Indy nutzt für Pings Raw sockets. Diese benötigen Admin-Rechte, das schon seit NT 4. Microsoft nutzt für seinen Ping auch Raw Sockets. Warum braucht das MS Ping Tool also scheinbar keine Admin-Recht? Weil MS das ganze in der icmp.dll gewrappt hat, damit die eigene Sicherheit umgangen wird :roll:

Der listige Programmierer nutzt nun auch die icmp.dll - aber die Nutzer stolpern vielleicht irgendwann über den Satz:
Zitat:

Icmp.dll may be removed from future versions of Windows. Please note, however, that for Windows NT and Windows 2000 implementations, Raw Sockets are subject to security checks and are accessible only to members of the administrator's group.
Roter Kasten: Danke Michael, wie immer steckst Du auch voll in der Materie :)

:dp:

Edit: Falls ICS wirklich auch diese "Magie" nutzt, muß ich schmunzeln. Natürlich geht das, aber dann sollte der Verwender gründlich prüfen, ob entsprechende Checks in ICS sind, ob die Funktionen der icmp auch wirklich exisitieren. Und der Programmierer, der das gründlich prüfen kann, sollte auch in der Lage sein, zu verstehen, warum man es nicht nutzen sollte...

Gruß Assertor


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