• Keine Ergebnisse gefunden

Übungsblatt 2 Ausgabe:

N/A
N/A
Protected

Academic year: 2022

Aktie "Übungsblatt 2 Ausgabe:"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Programmierung V - Netzprogrammierung Wintersemester 2011/2012

Übungsblatt 2

Ausgabe: 01.11.2011 Abgabe: 11.11.2011

Aufgabe 1 (Webradio mit Live-Chat via TCP): (18 Punkte) Arbeiten Sie weiter an dem Webradio aus Übung 1. Clients sollen nun Text- Nachrichten an den Server senden können. Diese werden vom Server nicht zwi- schengespeichert, sondern nur an die Clients weitergeleitet, die zum Zeitpunkt des Eintreffens der Nachricht gerade angemeldet sind (es handelt sich also um einen Live-Chat). Optional soll der Server nun auch Status-Nachrichten verschicken (Ti- telname, Titellänge, u.a.).

Um dies zu erreichen ist es notwendig, ein passendes Protokoll zu entwickeln. Um keine Mühen auf aufwendiges String-parsing zu verwenden, soll in dieser Übung ein ambitionierterer Ansatz verfolgt und ein Protokoll mit Hilfe von Googles Protocol Buffers entworfen werden.

Die Abgabe umfasst eine Dokumentation der verwendeten Konzepte, wichtigs- ten Design-Entscheidungen und hierfür relevantem(!) Code auf Papier, sowie ein ausführbares Jar in dem auch die Source-Files enthalten sein müssen. Das Jar benennen Sie bitte nach dem Schema: UB2_<Nachnamen der Tutanden>.jar.

a) (12 Punkte) Machen Sie sich mit Googles Protocol Buffers Technologie vertraut.

Installieren Sie die erforderlichen Bibliotheken. Orientieren Sie sich an den vorge- gebenen Beispiel-Klassen. Verwenden Sie ProtoBuf 2.4.1.

Entwerfen Sie protobuf-messages um das Audioformat, Chat-Nachrichten sowie Daten die vom Server gesendet werden repräsentieren zu können. Versuchen Sie den Kommunikations-Overhead so gering wie möglich zu halten.

Implementieren Sie nun den Audio-Stream sowie den Chat-Datenfluss unter Ver- wendung der protobuf-messages.

b) (6 Punkte) Implementieren Sie mit Javax Swing eine grafische Benutzeroberfläche für Server und Clients. Minimalanforderungen für Clients sind hier das Anzeigen und Eingeben von Chat-Nachrichten, sowie ein sauberes Beenden des Programms.

Für Server soll mindestens das Wählen eines neuen Sound-Files und das Beenden des Programms über die Benutzeroberfläche ermöglicht werden.

1

Referenzen

ÄHNLICHE DOKUMENTE

Um eine Idee zu bekommen, schreibt euch für verschiedene kon- krete Belegungen von n und m deren Werte während der Berechnung der Schleife jeweils am Anfang und am

Serge Autexier Christoph Lüth Korrekte Software: Grundlagen und Methoden SoSe

Folgendes Programm ersetzt alle Zeichen in einem Feld s, die keine Buchstaben sind, durch ein ’ x’ :. 1 / /

Als Beispiel für rekursive Funktionsdefinitionen können die Funktionen aus der Vorlesung dienen, oder fol- gende Funktion, welche aus einer Liste von Listen eine lange Liste

Wenn der Knopf beleuchtet wird, darf sich kein vollständig geöffneter Aufzug mit der entsprechenden Fahrtrichtung auf der Etage befinden. In der Simulation bewegen

Wenn alle Spieler eine Karte gewählt haben, wird angezeigt, wie die Karten einsortiert werden 7. Muss ein Stapel zum Tauschen ausgewählt werden, wird das dem entsprechenden

Es sollen folgende Funktionen implementiert werden, welche prüfen, ob eine Zutat oder eine Menge von Zutaten im Lager enthalten sind, oder diese hinzufügen oder entnehmen:!.

Führen sie eine Gefährdungsanalyse (fault tree analysis) für das autonom fahrende Auto durch.. Stellen sie dabei den Fehlerbaum (fault tree) bis zur fünften Ebene dar und benutzen