TcpLib
Lade ...
Suche ...
Keine Treffer
TcpLib (© 1995 Helmut Jakoby)

Einleitung

Als ich vor die Aufgabe gestellt wurde, eine Client-Server-Anwendung ohne Zuhilfename von Bibliotheken wie Boost oder Qt für "Windows" und "Linux" bauen zu müssen, blieb mir nur noch die Möglichkeit, auf Sockets wie Winsock zuzugreifen.

Ansatz

Die ersten Schritte waren frustrierend und schwierig für mich. Eine große Hilfe waren die Ausführungen und Erklärungen von Felix Opatz.

Netzwerkprogrammierung mit BSD-Sockets

und

Zotteljedis Tipps zur Socket-Programmierung

Ich kann auch Nutzern von TCP-Wrapperklassen die Dokumentationen von Felix Opatz zum lesen empfehlen um das Verständnis der Socket-Kommunikation zu vertiefen.

TCP-Wrapperklassen

Damit bin ich schon beim Thema TCP-Wrapperklassen. Ich wollte das ganze TCP-Geraffel nicht alles im Kopf behalten müssen und dann bei nächster Gelegenheit, wenn mal wieder eine Client-Server-Anwendung zu entwickeln ansteht, alles nochmal durchzuprogrammieren. Ich entschied mich, mir genehme, wiederverwendbare Client- und Server-Basisklassen zu entwerfen.

Nun denn; hier sind sie (tcp::Client und tcp::Server).

Um die Handhabung einfach aber auch flexibel zu halten, sind einfache Ableitungen von der Client- und Serverklasse mit Überschreibung von einer bzw. zwei Methoden möglich (siehe MyTestClient und MyTestServer).

Weitere Methoden von Klassen, welche die Flexibilität erhöhen können, sind virtual und als solche beschrieben.

Beispiel

Anhand der beiden Beispielklassen MyTestServer und MyTestClient wird die Nutzung aufgezeigt.

Beispiel-Main mit MyTestServer

Beispiel-Main mit MyTestClient

Lizenz

TcpLib ist freie Software:

GNU Affero General Public License Nutzung
Sie können das Programm unter den Bedingungen der GNU Affero General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Belieben) jeder späteren Version.
Details finden Sie in der GNU Affero General Public License: https://www.gnu.org/licenses/agpl-3.0.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK.