FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P3 Zettel 6

P3 Zettel 6 2004-01-26 19:18
Graogramar
Hi Folks.

Gibt es irgendwo Dokumentationen oder ne Einführung zu diesen Themen. Im Skript wird das überhaupt nicht behandelt (auch nicht im 3. Teil) und ich steh hier ziemlich dumm da weil ich nichts darüber gefunden habe.

Danke

Re: P3 Zettel 6 2004-01-26 19:48
Tweety
zum Thema Fünf-Philosophenproblem entweder das F4 skript (angeblich war es gerade heute dran und soll im dritten Teil des P3 Skriptes stehen) oder mal googeln.

Threats und Ports finden sich neben dem P3 Skript in den meisten Javabüchern, u.a. im Krüger: http://3773.rapidforum.com/topic=108482821308 um es zu bestellen oder aber unter http://www.javabuch.de

Re: P3 Zettel 6 2004-01-26 19:52
tekai
Das war heute dran und steht mit einer Petrinetz-Lösung fast am Ende des dritten Teils

Re: P3 Zettel 6 2004-01-30 18:15
Ksireau
Hab mal ne Frage zur Aufgabe 1:
Wie soll man das denn realisieren? Als JUnit-Test oder einfach den Server und einen Client starten?

Re: P3 Zettel 6 2004-01-30 18:26
UncleOwen
JUnit? Ich glaub, das waere fuer Aufgabe 1 wirklich uebertrieben…

Re: P3 Zettel 6 2004-01-30 18:26
UncleOwen
Ansonsten gilt natuerlich: Zu Risiken und Nebenwirkungen fragen sie ihren Uebungsgruppenleiter oder Tweety *g*

Re: P3 Zettel 6 2004-01-30 18:28
Tweety
Ansonsten gilt natuerlich: Zu Risiken und Nebenwirkungen fragen sie ihren Uebungsgruppenleiter oder Tweety *g*
Jetzt steh ich hier als böser Übungsgruppenleiter.
Nein, aber in diesem Fall ist JUnit eher ungeeignet, da hier keine Funktion im herkömmlichen Sinne getestet werden soll.

Re: P3 Zettel 6 2004-01-30 19:11
Ksireau
Ok, also soll ich zum Testen des ganzen einfach mal mitm Telnet-Client ne Verbindung zu localhost:3000 machen und dann ein bischen rumtippen?

Re: P3 Zettel 6 2004-01-30 19:12
UncleOwen
Entweder telnet oder den echo-client, der ja auch in der Aufgabe gefragt ist.

Re: P3 Zettel 6 2004-01-30 19:28
Ksireau
Hmm, ich bin verwirrt!
Ich hab jetzt eine Klasse EchoServer geschrieben, die Runnable implementiert. In der main-Methode erzeuge ich ein neues Exemplar von EchoServer, und im Konstruktor wird dann ein neuer ServerSocket erstellt und ein neuer Thread mit this als Parameter. Dann wird ja nach Thread.start die run()-Methode von EchoServer aufgerufen. Diese wartet dann solange mit ServerSocket.accept() bis eine Verbindung eingeht. Ist eine Verbindung eingegangen erzeuge ich ein neues Exemplar von EchoClient, welches Thread extended und rufe wieder EchoClient.start() auf. In dessen run()-Methode wird einfach jede Eingabe zurückgegeben.
Das ist also falsch? Unsere EchoClient-Klasse soll zum Server connecten und nich wir selbst mit Hilfe eines Telnet-Clients?

Re: P3 Zettel 6 2004-01-30 19:49
UncleOwen
Ist eine Verbindung eingegangen erzeuge ich ein neues Exemplar von EchoClient, welches Thread extended und rufe wieder EchoClient.start() auf. In dessen run()-Methode wird einfach jede Eingabe zurückgegeben.
Nene, das ist falsch. Der EchoClient ist kein Hilfsmittel fuer den Server.

Unsere EchoClient-Klasse soll zum Server connecten und nich wir selbst mit Hilfe eines Telnet-Clients?
Genau.

Re: P3 Zettel 6 2004-01-31 12:09
Anonymer User
Hallo,

ich habe folgendes Problem und wäre für einen Tip dankbar!

Ich habe die zwei Klassen EchoServer und EchoClient, die beide Thread extenden. In einer Testklasse werden also ein Server und ein Client als Thread gestartet und kommunizieren prächtig. Wie aber bekomme ich es hin, daß sich mehrere Clients den einen Port des Servers teilen??? Der Server wartet doch praktisch auch in einer Endlosschleife auf Daten vom Client und kann so nie einen neuen Client an sich ranlassen!?

Irgendwie bin ich da ziemlich verwirrt!

Re: P3 Zettel 6 2004-02-01 23:04
XeXano
Wenn ich aus der Übungsgruppe richtig erinnere, soll nachdem eine Connection hergestellt worden ist ein neuer Thread gestartet werden, der ne neue Connection eingehen kann…