Klausuraufgabe Netzwerkprogrammierung !Hilfe!

Status
Nicht offen für weitere Antworten.

duuugle

Mitglied
Die vordefinierte Klasse EventSource hat eine Methode
int waitForNextEvent()
pie Methode wartet auf das nächste Ereignis und kehrt zurück, sobald es eingetreten ist.
Der Rückgabewert ist eine Zahl zwischen 0 und 255. Ereignisse treten in unbestimmten Zeitabständen ein.
Code:
import java.util.*; 
class EventSource { 
int waitForEvent() Random r = newRandom(); 
try 
Thread.sleep(r.nextlnt(lOOO)) ; 
catch (Exception e) {} return r.nextlnt(255);

Das Programm Main wird mit einem Rechnernamen als Kommandozeilenargument (z.b. java Main localhost) aufgerufen. Es startet zwei Threads, einen Recei veThread und einen ResponseThread.
Code:
class Main 
public static void main(String ... args) { SendThread send = new SendThread(args); send. starL() ; 
 

 
ReceiveThread receive 
receive.start() ; 
 

new ReceiveThread();

Der ReceiveThread lauscht auf Nachrichten vom SendThread von einem anderen host und gibt die Zahl aus,
die er erhalten hat.
Hinweis: Die Methode getlnetAddress der Klasse Socket liefert den Remote¬Host, mit dem dieser Socket verbunden ist.
Der SendThread erzeugt ein Objekt EventSource und wartet in einer Endlosschleife auf Ereignisse.
Immer wenn ein Ereignis eintritt, gibt er eine Meldung mit dem Ereignis (hier einer Zahl) aus.
Dann öffnet er eine Netzwerkverbindung zu dem im Argument gelieferten Rechner und teilt diesem das Ereignis mit


Kann mir jemand helfen, wie ich das löse. Weis nicht ganz wie ich das machen soll.

Ist ne alte Klausuraufgabe und am Mittwoch ist Klausur.
 

Murray

Top Contributor
Die geposteten Code-Stücke sind ziemlicher Humbug - wenn die exakt so in der Aufgabenstellugn stehen sollten, sehe ich schwarz....

Ich kannte es bisher so, dass eine Aufgabe eine konkrete Fragestellung beeinhaltet - hier finde ich nur eine Beschreibung von Dingen, von denen nicht so recht klar ist, was Randbedingug und was Aufgabe ist. Vermutlich ist eine Implementierung von SendThread und ReceiveThread gefragt.

Ich verstehe das so:
SendThread: erzeugt ein EventSource-Objekt und ruft dessen waitForEvent-Methode auf. Sobald die Methode zurückkehrt, macht der Thread eine Socket-Verbidnung zum anderen Rechner auf und schickt das Ergebnis; danach wird wieder waitForEvent aufrufen usw.
ReceiveThread: wartet auf eine ankommende Socketverbindung; kommt eine Verbindung zustande, so wird eine Zahl vom Socket gelesen und ausgegeben; danach wird auf die nächste Verdindung gewartet
 

duuugle

Mitglied
Mehr stand da leider nicht.
Ja so versteh ich das auch.
Kann mir das jemand Programmieren, das ich mal so eine fertige Lösung habe, denn wir dürfen alles mitnehmen.
 

Murray

Top Contributor
duuugle hat gesagt.:
Kann mir das jemand Programmieren, das ich mal so eine fertige Lösung habe, denn wir dürfen alles mitnehmen.
Mit der Einstellung kanst du höchstens noch versuchen, das unter "Aufgabe und Gesuche" zu posten (wenn nicht ein Mod so nett ist, diesen Thread zu verschieben). Wenn du eine entsprechende Entlohnung anbietest, findet sich vielleicht jemand - darauf wetten würde ich allerdings nicht.

Und weg...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben