Praktische Aufgabe 3: Chat
Der bestehende Webserver soll so erweitert werden, dass er einen broadcast service zur Verfügung stellt. Über diesen Service soll ein Chat ermöglicht werden. Zu diesem Zweck verwaltet der Server zunächst einen zentralen Puffer, der die gesamte Chat-Historie enthält. Um am Chat teilzunehmen, senden Clients POST-Anfragen an die URL /broadcast.service. Dabei gilt folgendes:
- Content-Length == 0: Der Server blockiert die Verbindung.
- Content-Length > 0:
- Der Datenbereich der Anfrage wird an den zentralen Chat-Puffer angehängt
- Der gesamte Chat-Puffer wird an alle bisher blockierten Clients gesandt.
Das Chat-Interface des Clients wird in der Vorgabe bereitgestellt. Durch Aufruf der Datei chat.html über einen Web-Browser wird mittels Java-Script eine Chat-Oberfläche geladen, die die beschriebenen Anfragen an die URL broadcast.service an den Server sendet.
In der Vorgabe befindet sich ebenfalls ein Beispiel-Webserver (ChatServer), der die gewünschte Funktionalität demonstriert. Nach dem Start lauscht er auf Port 8080 und liefert Dateien relativ zum aktuellen Arbeitsverzeichnis aus.