Ping senden mit Borland C++ Builder 6
-
Hallo zusammen!
Bin erst seit kurzem mit C++ vertraut, und wollte mal wissen ob es eine einfache Möglichkeit gibt einen ping an eine von mir vorgegebene IP Adress zu machen und danach auszuwerten ob die IP vorhanden ist???
Danke schon mal im vorraus....

-
Hier hast du 2 (mir bekannte) Moeglichkeiten.
Einmal kannst du ueber die Windows Socket Programmierung einen Ping Paket zusammenbauen, absenden und auf ein Reply an dem Ping Port warten.
Also fuer einen Einsteiger definitiv zu schwierig meiner Meinung nach.Einfach wird es sein, wenn du dir einen String zusammenbaust, wie du ihn auch auf der Befehlszeile eingeben wuerdest. (beispielsweisse mit einem String) und diesen dann per system(var); abarbeiten laesst.
In dem Fall koenntest du dann die Konsolenausgabe in eine Datei umlenken lassen, die Datei wieder auslesen und verarbeiten.std::string befehlszeile,IP; std::cin>>IP; befehlszeile = "ping " + IP + "> ping.txt"; system(befehlszeile);So muesste es funktionieren.
-
Danke schonmal, aber ich würde es gerne auf der Form machen.
Gibt es da vielleicht ein fertiges Packages was ich installieren kann, und
von diesem eine fertige Methode nutzen kann???
-
Also eine vorgefertigte Library fuer Pings kenne ich nicht, waere aber mal eine Idee sowas in die Wege zu leiten :-).
Also ich habe hier ein Beispiel gefunden, wie es mit der ICMP.dll funktioniert. Ist recht kompliziert, schau es dir mal an:
http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc08012.php
-
Ne du, system ist mal wirklich so richtig böse.
Wie du dir ein Echo-Request bastelst steht in der Wikipedia oder den RFCs (sind auf der Wikipediaseite verlinkt). Verschicken kannst du es dann entweder über eine systemabhängige Socket-API oder mit einer Bibliothek wie Boost.ASIO (sicherlich der lehrreichste Weg).
Wenn es nur unter Windows benötigt wird, kannst du dir das hier anschauen, das hat aber nicht viel von C++.
-
Danke
Ich werd mal schauen was sich machen lässt.....

-
Hallo
Borland Builder : verwende das Indy-Package V9, da ist eine solche ICMP-Komponente dabei.
Wenn du das machen willst las dich ins Builder-Subforum verschieben und such dort nach genannten Stichpunkten.bis bald
akari
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo,
das Indy-Package V9 geht nicht bei Version 6.0.
Gibt es noch ein höheres??

-
Hallo
das Indy-Package V9 geht nicht bei Version 6.0.
Falsch.
Gibt es noch ein höheres??
V10. Aber die läuft wirklich nicht, mit keinem Builder.
bis bald
akari
-
@unklar:
was spricht dagegen, folgendes
Einfach wird es sein, wenn du dir einen String zusammenbaust, wie du ihn auch auf der Befehlszeile eingeben wuerdest. (beispielsweisse mit einem String) und diesen dann per system(var); abarbeiten laesst.
In dem Fall koenntest du dann die Konsolenausgabe in eine Datei umlenken lassen, die Datei wieder auslesen und verarbeiten.(gut, ohne system, WinExec oder ShellExecute schon eher) nicht zu verwenden auf deiner Form?
du kannst doch trotzdem die datei auswerten und dann ausgeben lassen bzw. erst parsen und das ergebnis auf deiner Form zeigen?
-
Dann habe ich das falsche.
Kannst du mir sagen wo ich das V9 laden kan????

-
-
Schaust Du hier.
// Edit: zu spät.
-
system()-Frage abgetrennt:
http://www.c-plusplus.net/forum/viewtopic.php?t=186596