You are not logged in.

  • Login

1

Wednesday, September 2nd 2009, 9:27pm

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 http://www.online-tutorials.net/netzwerk…es-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

2

Wednesday, September 9th 2009, 6:42pm

RE: c++ ping auswerten


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:

C/C++ Quellcode

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


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

Similar threads

Social bookmarks