Exkurs - Socket-API

Client-Server-Kommunikation mit Sockets

Die folgende Abbildung verdeutlicht die Aktionen von Client und Server bei einer Client-Server-Kommunikation.

Client-Server-System

Der Server muss hierzu zunächst ein sog. Verbindungssocket erzeugen und dieses Socket an IP-Adresse und Port eines Prozesses binden. Abschließend beginnt das Socket mit dem Lauschen auf Verbindungsanfragen.

Ein Client muss ebenfalls ein Socket erzeugen, das hier Kommunikationsssocket genannt wird. Anschließend kann ein solches Kommunikationssocket mit dem Verbindungssocket des Servers Kontakt aufnehmen und einen Verbindungswunsch anfragen. Hier läuft (unter TCP) dann ein Drei-Wege-Handschlagprotokoll ab.

Wenn die Verbingsanfrage vom Verbindungssocket des Servers akzeptiert wird, dann erzeugt das Verbindungssocket ein zusätzliches Kommunikationssocket. Das Verbindungssocket übernimmt also nicht den Austausch der Daten, sondern überlässt das dem neu erzeugten Kommunikationssocket, um selbst auf weitere Verbindungsanfragen reagieren zu können.

Die Kommunikationssockets von Client und Server können jetzt Daten senden und empfangen.

Wenn der Nachrichtenaustausch beendet ist, werden die Kommunikationssockets geschlossen. Der Server beendet seine "Arbeit", indem das Verbindungssocket geschlossen wird.

Operationen zur Durchführung einer Client-Server-Kommunikation

Die Socket-Schnittstelle (Socket-API) legt geeignete Operationen fest, um den oben beschriebenen Client-Server-Kommunikation zu realisieren.

Socket-Operationen

Sockets werden erzeugt, indem man Objekte der Klasse socket - die sich im Modul socket befindet - erzeugt.

Solche Objekte können jetzt die in der Abbildung gezeigten Operationen ausführen. Mehr hierüber im Abschnitt ....

X

Fehler melden

X

Suche