# UDP/TCP Server



## Askadi (9. Jan 2011)

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


----------



## XHelp (9. Jan 2011)

der TCP-Server und UDP-Server sollten als unabhängige Threads nebeneinander laufen.


----------



## Askadi (9. Jan 2011)

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...


----------



## XHelp (9. Jan 2011)

2 Klassen die jeweils von einem Thread erben und die deine Server darstellen. In einer anderen Klasse erstellst du einfach jeweils eine Instanz davon.


----------



## Askadi (10. Jan 2011)

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


----------



## XHelp (10. Jan 2011)

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.


----------



## Askadi (10. Jan 2011)

Ok das wars läuft jetzt alles so wie ich es mir vorgestellt hab danke für deine Hilfe  hasste gut gemacht.


----------

