C++ und Internet

Hallo Leute,

Ich bin relativ Anfänger in C++, hatte aber schon C-Erfahrungen, komme also eigentlich recht gut klar.

Ein Problem habe ich allerdings:

Ich möchte ein Programm schreiben, das unter anderem eine Klasse enthalten soll, die IPs anpingt und die Laufzeit in einer Variable speichert.

Ich habe zwar viele Informationen gefunden, wie ich das machen kann aber ich suche nach einer möglichst kruzen Lösung, die ich möglichst leicht von Linux nach Win portieren kann.

Kann mir da jemand helfen? Es soll also für Linux sein, ich will es hinterher aber auch nach Windos portieren. Vorgestellt habe ich mir eine Klasse, die eine Methode enthält, welche eine IP pingt und den Wert in einer Variable der Klasse speichert.

Ich versuche schon echt lange, das Problem selbst zu lösen und wäre echt dankbar, wenn mir jemand ein bisschen helfen könnte...
 
Portierung von Linux auf Windows ist mit einem einfachen "copy & paste" in diesem Fall nicht getan. Da muss sehr viel umgeschrieben werden. Da du selber sagst das du C++ Anfänger bist übersteigt das derzeit noch deinen Horizont.

Versuche das erstmal unter Linux zu programmieren. Sobald das läuft beschäftigst du dich mit der Winsock-Programmierung (völlig neues Gebiet). Immer einen Schritt nach dem anderen tun. Du bist zu hastig.
 
Also wenn da einer ne Adresse mit nem Beispiel für Linux hat wäre ich dankbar.

Mit Winsock beschäftige ich mich grad, da hab ich nen gutes TUT bei c-worker.ch gefunden. Da habe ich allerdings ein Problem wenn ich die Server-Anwendung programmieren will:

Code:
addy.sin_addr.s_addr=ADDR_ANY;

erzeugt die Fehlermeldung

Code:
error C2065: 'addr_any' : nichtdeklarierter Bezeichner

(unter MS Visual C++)

Anfänger ist übrigens nicht so drastisch gemeint wie du es auffasst. Ich habe schon viel gelernt, kann auch viel, bezeichne mich jedoch als Anfänger, da ich noch nicht sehr viel Erfahrung habe...
 
genaues kann ich dir zu deiner Fehlermeldung so ohne Zusammenhang nicht sagen (was sie aussagt sollte dir ja klar sein), aber die Groß-/Kleinschreibung macht mich stutzig, denn wie du sicher weißt ist C++ Casesensitiv.
 
Was sie bedeutet ist mir schon klar. Das C / C++ Case Sensitivbe ist, ist mir auch klar.

Hier mal ein größerer Ausschnitt:

Code:
memset(&addr,0,sizeof(SOCKADDR_IN));

addr.sin_family=AF_INET;

addr.sin_port=htons(12345);

addr.sin_addr.s_addr=ADDR_ANY;

rc=bind(acceptSocket,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN));

Stammt so aus einem TUT von c-worker.ch (http://www.c-worker.ch/tuts/wstut_op.html). Wenn ich statt ADDR_ANY z.B. inet_addr("127.0.0.1") eingebe, funktionierts aber das is ja nich der Sinn der Sache, daß der Server nur Verbindungen von localhost annimmt...

EDIT: Ich habe die Lösung schon gefunden: Ich muss INADDR_ANY verwenden :)
 
Zurück
Oben