UDP/TCP Server

Askadi

Mitglied
Hallo...

habe ein Problem und zwar muss ich einen Server und Client programmieren.
Beim Client soll man einstellen können ob man mit UDP oder TCP senden will.
Und der Server MUSS UDP und TCP empfangen können.

TCP funktioniert bestens!

Habe nun aber Probleme mit UDP um genau zu sein weiss ich nicht wie ich es richtig in den Server integrieren soll denn wenn ich in der

while(true)
{
}

an den Punkt komme wo es darum geht das packet zu empfangen

dSocket.recieve(packet);

bleibt der Server praktisch stehn und wartet solang bis er ein UDP packet bekommt.
Das bedeutet aber leider das in der Zeit nichts mehr über TCP läuft.

______________________________________


Meine Idee wäre den recieve irendwie nach ner Zeit zu beenden wenn das möglich ist aber hab leider keine Ahnung wie.
Evtl macht man sowas auch ganz anders wäre toll wenn mir jemand weiterhelfen kann.


MfG
Askadi
 
Meinste damit es ist möglich 2 endlosschleifen paralell zueinander laufen zu haben ?

Und wenn ja hasste vll nen Ansatz Code des Threads da ich mich damit nicht so auskenn ich denk den echten Code könnte ich ja dann selber reinbringen...
 
2 Klassen die jeweils von einem Thread erben und die deine Server darstellen. In einer anderen Klasse erstellst du einfach jeweils eine Instanz davon.
 
Ok danke habe das soweit jetz realisiert habe jetz noch ein Problem und ich komm nicht drauf wie ich das realisieren kann.

Habe jetzt also:

Server.java (mit der main Methode)

und

Server_TCP (erbt von Thread)
Server_UDP (erbt von Thread)

in der Server.java hatte ich bisher eine JTextArea in der ich mit .append(); statt mit system.out.print meine Ausgaben ausgegeben habe jetzt frage ich mich allerdings wie ich auf dieser JTextArea die Ausgaben von den anderen Klassen bzw. von den Thread bekomme...


MfG
Askadi
 
Du könntest einen eigenen Listener schreiben, den du von der GUI aus an den Servern anbindest, wenn wenn eine Nachricht kommt, dann feuern die Server ein Event ab.
 

Zurück
Oben