c++ ping auswerten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • c++ ping auswerten

    hallihallo, ich suche schon seit mehreren tagen nach einer lösung für ein problem:
    ich möchte, das mein programm die verbindung zum internet überprüft.
    ich habe mir schon das tutorial von online-tutorials.net/netzwerk/…/sourcecodes-t-18-26.html
    durgelesen, allerdings zeigt mir die konsole, auch ohne internet (ich habe wlan) an,
    dass ich mit dem internet verbunden bin.
    nun versuche ich das ganze mit ping zu lösen, undzwar gibt es den befehl WEXITSTATUS();
    dieser benötigt jedoch #include <sys/wait.h>, welche allerdings nicht gefunden wird.

    hat jemand ne lösung?
    mfg Spooky Vision
  • RE: c++ ping auswerten

    SpookyVision schrieb:


    nun versuche ich das ganze mit ping zu lösen, undzwar gibt es den befehl WEXITSTATUS();
    dieser benötigt jedoch #include <sys/wait.h>, welche allerdings nicht gefunden wird.

    hat jemand ne lösung?
    mfg Spooky Vision


    Windows User, hum?! *lach*

    Erstell dir einen neuen Prozess und pipe die Ausgabe in einen anderen Stream.
    So wirds in Linux gemacht:

    Quellcode

    1. FILE *pProcess = NULL;
    2. char szCmd[128];
    3. char szOutput[128];
    4. memset(szCmd, 0, 128);
    5. strcpy(szCmd, "ping");
    6. pProcess = popen(szCmd, "r");
    7. if(pProcess) {
    8. while(true) {
    9. usleep(2);
    10. if(!feof(pProcess)) {
    11. if(fgets(szOutput, 128, pProcess)) {
    12. cout << szOutput << endl;
    13. }
    14. }
    15. else break;
    16. }
    17. }
    18. else {
    19. cout << "Failed to call popen(...) - Abort." << endl;
    20. }
    Alles anzeigen


    Wie das ganze in Windows funktioniert, musst du mal selbst recherchieren. Ein äquivalent zu popen wirst du sicher finden.