Eine IP-Adresse anpingen
-
Hallo. Ich möchte ein Programm schreiben, das IP-Adressen anpingt und bei Erfolg true zurückgibt. Wie kann ich IP-Adressen anpingen?
Danke!
EDIT: Es ist wichtig, dass es in Windows-Programmierung mit BCB gemacht istz, darum poste ich nicht ins Standard-C++ Forum.
-
Suche benutzen.
Indy Komponenten.Gruß Rainer
-
Ja, die kenn ich ja, aber das Verbinden dauert zu lang, schau dir mal in DOS die Funktion ping an, das geht viel schneller.
gibts nicht eine möglichkeit, kurz ein Byte zu senden, wenn es angekommen ist, true zurückzugeben?
-
Kann mir da keiner weiterhelfen?? Gits da vielleicht Konsolenbefehle für? Ich muss nur eine bestimmte Liste an IP-Adressen anpingen und schauen, ob alle da sind... ist das so schwierig, dass es keiner weiß, wie das geht?
Danke für eure (hoffentlichen) Antworten.
EDIT: Da es ziemlich viele IPs sind, so an die 120, sollte es eine Funktion sein, die schnell ist, darum geht es mir gerade. Ob die Verbindung gut oder schlecht ist, spielt dabei keine Rolle, nur ob die IP da ist, das will ich wissen... also anpingen. Und diese Kompos beim BCB sind zu langsam, das Verbinden, wenn eine IP nicht da ist (bzw. bis er merkt, dass die IP nicht vorhanden ist) dauert zu lange.
-
Windoof schrieb:
(bzw. bis er merkt, dass die IP nicht vorhanden ist) dauert zu lange.
Vielleicht solltest du einfach mal den TimeOut-Wert entsprechend einstellen. Davon abgesehen kannst du (zumindest bei Indy) ja mehrere IPs unmittelbar hintereinander anpingen und die Ergebnisse über die SequenceID auswerten.
Ob die Verbindung gut oder schlecht ist, spielt dabei keine Rolle
Dummerweise spielt das eben doch eine Rolle. Nur weil ein Ping-Paket nicht zurückkommt heisst das ja nicht gleich, dass der Rechner bzw. die IP "nicht da ist". Bei einer schlechten Verbindung ist möglicherweise eben dieses Paket verlorengegangen, ein zweites könnte aber beantwortet sein. Wenn du allerdings nur eines abgeschickt hast, hast du eine 50%ige Chance, ein fehlerhaftes Ergebnis zu erhalten.
-
Jansen schrieb:
Vielleicht solltest du einfach mal den TimeOut-Wert entsprechend einstellen.
Wo kann ich das tun? Ist mir nirgends aufgefallen...
Jansen schrieb:
Davon abgesehen kannst du (zumindest bei Indy) ja mehrere IPs unmittelbar hintereinander anpingen und die Ergebnisse über die SequenceID auswerten.
Und wie mach ich das genau?