C/C++ Programmierkurs
Zurück Inhalt Vor

Hausaufgabe

Stöbern Sie in der rllib etwas herum und experimentieren damit. Vielleicht sollten Sie zunächst mit der Klasse rlTime beginnen und in beispiel3.cpp etwas damit programmieren.

Versuchen Sie auch dieses Beispiel zum Laufen zu bekommen

beispiel4-a.png
Test der rlSocket Klasse (Netzwerkkommunikation mit TCP)
beispiel4-b.png
Passendes main für das Testprogramm

Je nachdem ob zeigeBeispiel4() mit active=0 oder octive=1 aufgerufen wird, verhält sich das Beispiel als Server oder als Client. Wenn man es in 2 getrennten Terminals startet und active=0 in einem Terminal und active=1 im anderen Terminal eingibt, kann man beide Instanzen des Beispiels Daten über TCP miteinander austauschen lassen. Das funktioniert nicht nur auf localhost, sondern auch zwischen verschiedenen Rechnern, zwischen denen eine Netzwerkverbindung möglich ist.

Beachten Sie dass der Server in Beispiel4 nur jeweils 1 Client bedient. Wenn man einen Server programmieren möchte, der mehrere Clients gleichzeitig bedienen kann, dann muss man mehrere parallel laufende Threads erzeugen (siehe: rlThread Klasse).

D.h. nach "s.connect()" muss man einen Arbeiter-Thread erzeugen und dem die Kommunikation machen lassen, während das Hauptprogramm erneut "s.connect()" aufruft und damit auf den nächsten Client wartet.

Lassen Sie uns das Thema Thread aber vorerst beiseite legen. Momentan wollen wir uns auf Programme konzentieren, die aus 1 einzigen Bearbeitungsstrang bestehen.


Zurück Inhalt Vor