• Keine Ergebnisse gefunden

Client-Server Blatt3

N/A
N/A
Protected

Academic year: 2021

Aktie "Client-Server Blatt3"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ubungen zur Vorlesung¨

Grundlagen der Informatik 2“

Studiengang E-Technik SoSe 2002

AG Betriebssysteme, FB 3 Jan Bredereke ausgegeben: 13.6.2002 Abgabe und Besprechung:

in der ¨Ubung am 27.6.2002

Blatt 3

Client-Server

Aufgabe 1: Parallel-Server

In der Vorlesung wurde die Client-Server-Kommunikation mit Sockets und fork() erkl¨art.

Schreibt ein Client-Programm und ein Server-Programm.

a) Client

Das Client-Programm soll eine Socket-Verbindung mit dem Server-Programm herstellen und anschließend alle Tastatureingaben direkt an den Server weiterleiten. Zum Beenden bricht man einfach mit Strng-Cab.

Das Client-Programm soll zwei Aufruf-Parameter haben, und zwar den Namen des Hosts, zu dem eine Verbindung hergestellt werden soll, und die Nummer des Ports dort.

b) Server

Das Server-Programm soll an einem Port auf eine eingehende Verbindung von einem Client- Programm warten. Sobald ein Client eine Verbindung hergestellt hat, soll sich der laufende Server-Prozeß mithilfe vonfork()in zwei Prozesse aufspalten. Der erste Prozeß soll erneut auf eine weitere eingehende Verbindung warten. Der zweite Prozeß soll die eingegangene Verbin- dung bearbeiten. Er soll alle Daten, die dar¨uber ankommen, solange in eine Datei schreiben, bis die Verbindung wieder abgebaut wird. Die Dateien sollen daten1.txt, daten2.txt usw.

heißen, die Datei jedes Kind-Prozesses soll also eine eigene Nummer haben. Außer in die Datei- en soll der Server die Daten auch auf die Standardausgabe schreiben, jeweils mit dem Namen der Ausgabedatei davor. Zum Beenden bricht man ebenfalls einfach mit Strng-C ab. (Dies beendet auch automatisch alle Kind-Prozesse, zumindest unter Linux.)

Das Server-Programm soll bei seinem Aufruf einen Parameter haben, und zwar die Nummer des Ports, an dem der Server auf eingehende Verbindungen warten soll.

Die Programme sollen wie immer in C geschrieben werden. Um die Programme auszuprobie- ren, ist es am besten, wenn man auf dem Linux-Rechner mehrere X-Terminals mit je einer Textkonsole ¨offnet. In einem Fenster kann man dann den Server starten, in den anderen jeweils einen Client.

Der Server muß selbstverst¨andlich als erstes gestartet werden. Sollte es dabei eine Fehler- meldung geben, daß der Port schon belegt ist, muß man einen anderen nehmen. Schließlich arbeiten evtl. andere Studenten gleichzeitig an derselben Aufgabe. Die Ports mit Nummern kleiner als 1024 sind ¨ubrigens vom System belegt und k¨onnen von normalen Benutzern nicht zum Warten auf eine Verbindung verwendet werden.

Referenzen

ÄHNLICHE DOKUMENTE

public static void main(String args[]) throws Exception {.

public static void main(String[] argv) { Socket socket;..

public static void main(String[] argv) { Socket socket;.

An overlay network is a virtual network of nodes and logical links that is built on top of an existing network with the purpose to implement a network service that is not

Parallel database systems consist of multiple processors and multiple disks connected by a fast interconnection network. A coarse-grain parallel machine consists of a small number

Parallel database systems consist of multiple processors and multiple disks connected by a fast interconnection network. A coarse-grain parallel machine consists of a small number

➥ in eigenem Prozeß auf dem lokalen Rechner (COM-Server ist ausf ¨uhrbares Programm). ➥ in eigenem Prozeß auf entferntem Rechner

Falls die weitere Verarbeitung des XML-Dokumentes vorsieht, dass alle Dokumente einer Datenbank zu einem XML-Dokument zusammengefügt werden, kann dies ebenfalls mit ei- ner