Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Das C++ Codebook

Das C++ Codebook

von: Andre Willms

Addison-Wesley Verlag, 2003

ISBN: 9783827320834, 728 Seiten

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 29,95 EUR

Ersparnis: 10,00 EUR

  • Microsoft SQL Server 2000
    Oracle-Programmierung
    Access 2002 - Datenbanken planen, entwickeln, optimieren
    Persönlichkeitstests im Personalmanagement. Grundlagen, Instrumente und Anwendungen
    Windows-Programmierung mit C++
    UML 2 kompakt
    MySQL - Einführung, Programmierung, Referenz
    Visual Basic 6 - Programmiertechniken, Datenbanken, Internet
 

Mehr zum Inhalt

Das C++ Codebook


 

69 Wie wird eine TCP/IP-Verbindung (Internet) hergestellt? (S 374)

Die Beantwortung dieser Frage erfordert ein system- und compilerspezifisches Programmieren. Wir werden die plattform- und compilerabhängigen Komponenten jedoch so gering wie möglich halten, um eine einfache Portierung zu ermöglichen.

Als Beispielimplementierung nehmen wir das Betriebssystem Windows und den Visual-C++-Compiler von Microsoft.

Entworfen werden soll ein Klasse, die folgende Eigenschaften besitzt:
Sie besitzt eine statische Methode initialize, die einmalig im Programm aufgerufen wird und bestimmte Teile des Systems initialisiert.
Dem Konstruktor werden die Adresse und der Port des Servers übergeben, mit dem die Verbindung aufgenommen werden soll.
Der Destruktor gibt alle Ressourcen wieder frei und trennt eine eventuell noch bestehende Verbindung.

Eine Methode is_available gibt Auskunft darüber, ob die gewünschte Verbindung zur Verfügung steht.

Mit send können Daten über die erstellte Verbindung gesendet werden. Dabei besitzt die Methode als Parameter die Adresse des Speichers, aus dem gesendet werden soll, und die Anzahl der zu sendenden Daten.
Die Methode receive empfängt Daten über die Verbindung. Ihr muss über Funktionsparameter mitgeteilt werden, wie viele Daten gelesen werden und wo sie abgelegt werden sollen.

Die Methoden send und receive dürfen dabei blockierende Methoden sein. Für receive bedeutet das zum Beispiel, dass die Methode erst beendet wird, wenn genau so viele Daten empfangen wurden wie gefordert.

Im Normalfall würde man blockierende Methoden mit Hilfe so genannter Callback- Methoden vermeiden. Da wir uns aber auf die Fahne geschrieben haben, die Implementierung zwecks leichter Portierbarkeit einfach zu halten, werden wir auf sie verzichten.

Es soll hier noch einmal ausdrücklich darauf hingewiesen werden, dass bei einem reinen MFC-Projekt weitaus elegantere Methoden zum Einsatz kämen. Die folgenden Zeilen sollen daher nicht als Paradebeispiel der Windows-Programmierung verstanden werden, sondern als einfache Lösungsmechanismen, die eine Anpassung an die eigenen Bedürfnisse oder andere Plattformen/Compiler ohne großen Aufwand ermöglichen.