Hi,
ich bins mal wieder mit einem Problem
Also mein Server läuft wunderbar, kann auch mehrere Aufgaben ausführen und Rückgabewerte liefern. 2 Clients verbinden sich mit diesem und auch dort funktioniert es ganz gut. Jetzt habe ich jedoch das Problem, dass wenn ich eine Überprüfung auf Änderungen beim Server durchführe (Listener), dann gibt er mir ab und zu Rückgabewerte von einem anderen Befehl wieder.
Bsp:
SENDE felder --> 0 0 0 0 0 0 1 2 0 (erwarteter Rückgabewert)
SENDE felder --> Blue 2 true (falscher Rückgabewert)
SENDE spieler --> Blue 2 true (erwarteter Rückgabewert)
Ich habe es bis jetzt so gehandhabt, dass ich die NumberFormatException (von den einzelnen Feldern) einfach ignoriert habe, was zwar klappt, aber irgendwie doof ist
mit Thread.sleep(30) hab ich jeden ausgehenden Befehl versehen, damit der Server auch ein wenig Zeit hat zu denken. Bei mehr "ruckelt" das natürlich alles, was ebenfalls funktioniert, aber doof ist.
Mein Fazit: 2 Threads überschneiden sich, senden jeweils einen unterschiedlichen Rückgabewert und so kommt mein Client durcheinander.
Die Frage ist jetzt nur, wie behebt man dieses?
ich bins mal wieder mit einem Problem

Also mein Server läuft wunderbar, kann auch mehrere Aufgaben ausführen und Rückgabewerte liefern. 2 Clients verbinden sich mit diesem und auch dort funktioniert es ganz gut. Jetzt habe ich jedoch das Problem, dass wenn ich eine Überprüfung auf Änderungen beim Server durchführe (Listener), dann gibt er mir ab und zu Rückgabewerte von einem anderen Befehl wieder.
Bsp:
SENDE felder --> 0 0 0 0 0 0 1 2 0 (erwarteter Rückgabewert)
SENDE felder --> Blue 2 true (falscher Rückgabewert)
SENDE spieler --> Blue 2 true (erwarteter Rückgabewert)
Ich habe es bis jetzt so gehandhabt, dass ich die NumberFormatException (von den einzelnen Feldern) einfach ignoriert habe, was zwar klappt, aber irgendwie doof ist

mit Thread.sleep(30) hab ich jeden ausgehenden Befehl versehen, damit der Server auch ein wenig Zeit hat zu denken. Bei mehr "ruckelt" das natürlich alles, was ebenfalls funktioniert, aber doof ist.

Mein Fazit: 2 Threads überschneiden sich, senden jeweils einen unterschiedlichen Rückgabewert und so kommt mein Client durcheinander.
Die Frage ist jetzt nur, wie behebt man dieses?