有偿跪求java高手帮忙写一个tcp数据交换的小程序
如题,有偿跪求java高手给写个tcp端口数据交换的小程序具体要求如下
Aufgabe 1
a) Schreiben Sie ein Java-Programm für den Server einer verteilte Wetterstation, das TCP Sockets
verwendet und funktional identisch mit dem aus Blatt 3 ist. Die Station besteht einem Server
und n Messgerauml;ten. Der Server muss das folgende Protokoll (API/Interface) implementieren:
public synchronized void save(WeatherData wd);
Sie sollen dazu das „Thread per Connection“ Entwurfsmuster aus der Vorlesung verwenden. Sie
kouml;nnen als Grundlage die verschiedenen TCPServer Klassen und ihre Clients benutzen. Achten
Sie auf Probleme, die durch Multithreading und Nebenlauml;ufigkeit entstehen und verwenden Sie,
wo notwendig, synchronized oder auml;quivalente Konstrukte. (Tipp: Dies ist insbesondere bei
gemeinsam genutzten Datenstrukturen erforderlich.) Wenn der Server korrekte Daten erhauml;lt,
werden diese an der Kommandozeile (oder in ein Datei) ausgegeben. Im Fehlerfall wird eine
Fehlermeldung ausgegeben (aber nicht an den Client zurückgegeben). Die TCP Verbindung wird
solange offengehalten, bis der Clientdiese schlieszlig;t. Mit anderen Worten, die Verbindung (der
Socket) wird nicht nach jeder Nachricht geschlossen, sondern kann für mehre Nachrichten offen
bleiben. (Sie kouml;nnen einzelne Nachrichten durch “nn” oder ei geeignetes anders Trennzeichen
Ihrer Wahl trennen.
b) Schreiben Sie ein Java-Programm für die Clients der verteilten Wetterstation, das TCP Sockets
verwendet. Die Benutzerschnittstelle des Clients kann eine einfaches Kommandozeileninterface
sein, wie es nachstehendes Beispiel verdeutlicht:
>Please enter data:
>42, 2010-03-18T10:37:09, 54.1, 12.2, 8.4, 54.2, 789.2
>sending data to server
>Please enter data:
>42, 2010-03-18T10:38:09, 54.1, 12.2, 8.5, 54.2, 789.2
>Please enter data:
>Close
>>Connection closed
Der Client muss einen Fehler zurückmelden, wenn die Daten syntaktisch nicht korrekt sind. Der
Client schlieszlig;t die Verbindung bei Eingabe des Schlüsselwortes “Close”. Ebenso muss der Client
bei Netzwerkproblemen o.auml;. eine Fehlermeldung zurückgeben. Alternativ zur Kommandozeile
kouml;nnen Sie die Daten auch aus einer (Test-) Datei einlesen.
Aufgabe 2
Schreiben Sie mehrere Testszenarien, um die folgenden Anwendungsfauml;lle zu testen:
1. Client liest korrekte Daten ein und sendet diese.
2. Client liest inkorrekte Daten.
3. Mehrere Clients senden „gleichzeitig“
4. Client sendet Daten und der Server ist nicht online.
Sie sollten dafür das JUnit Framework verwenden (auszlig;er für Fall 3). ich habe eine Kurznachrichte(in Dolc) zu dir geschickt.
页:
[1]