Ja super, dann mache ich das mal die nächsten Tage fertig.
Das Problem an meiner ersten Lösung war, dass dort nur immer die erste von mehreren verbundenen Nachrichten verarbeitet wurde und die Geschäftslogik sich mit den Texten herumschlagen musste.
Kamen beim Client z.B. erst
command1
command2
command3
und dann
command2
command1
command3
an, wurde jeweils nur die erste Nachricht geparst und der Rest ignoriert - bis ich dann diese Verkettung der Nachrichten erkannt habe.
Das lösen jetzt meine Handler automatisch auf, wandeln die Textnachrichten in IMessages um, die auch die Geschäftslogik verarbeiten kann und geben diese kontrolliert zur Weiterverarbeitung raus.
Die einzelnen Aufgaben werden in einzelnen Threads abgearbeitet und die Nachrichten werden in threadsicheren (hoffentlich) Queues gepuffert.
So muss die Geschäfts- und
GUI-Logik jetzt nur noch IMessages erstellen und verarbeiten und man muss sich um den Nachrichtenfluss nicht mehr selbst kümmern.