ping-abfrage abfangen / auswerten



  • Hallo,

    ich müsste eine abfrage schreiben ob bestimmte server online sind und das ergebnis in eine datei schreiben. die abfrage ist ja kein problem:

    void ping(){
    
    	system ("ping 192.168.X.X");}
    

    aber wie komme ich jetzt an die ergebnisse heran bzw. muss ich nur ein ok in die datei schreiben wenn der server online ist. es müssen also nicht alle werte hinein geschrieben werden 😕
    also mein problem: wie kann ich die werte vergleichen und herausfinden ob der ping erfolgreich war??

    thx,
    Raphael



  • "system "liefert den Fehlercode des auszuführenden Befehls zurück.
    Kannst ja mal überprüfen, welche Werte vom Ping-Befehl zurückgegeben werden und entsprechend reagieren.

    int nError = system("ping ...");
    


  • und falls du an den Textausgaben interessiert bist, die ping ausgeben will, solltest du dir mal man: popen ansehen.



  • Gibt mehrere Möglichkeiten. Am geschicktesten wäre es nicht das Programm selbst aufzurufen sondern die API des Betriebssystem für das zu benutzen, z.B. bei Windows die WinAPI.

    Wenn du es mit dem Programm machst könntest du dessen Ausgabe in eine Datei umleiten:

    ping 192.168.X.X > result.txt
    

    Eine dritte Möglichkeit ist die Standard-Ausgabe umzuleiten und die Ausgabe des Programms direkt zu verarbeiten.



  • hey super!! vielen dank für die schnellen antworten. habt mir sehr geholfen 👍


Anmelden zum Antworten