Also die Idee mit den Konstanten find ich gut, das einzige was ich dabei noch nich ganz verstehe:
Ich habe ja variable Parameter in manchen Nachrichten ('Bet[600'] zB), wie setz ich das um?
Dann hab ich im Anhang mal ne kleine Grafik wie ich es jetzt geplant habe, um der Sache mit Controller und Server zu entgehen (vielleicht verdeutlicht das auch wie die Dinge in Verbindung stehn
)
Dazu ne Erklärung!
-> Benutzer klickt auf Bet600
-> Client wird informiert, dass er die Infos zum Server schickt ('Bet[600]')
-> Server empfängt Nachricht im onClientRead-Event
-> Server gibt dem Connector die Aufgabe den Controller zu benachrichtigen die Aktion Bet600 auszuführen
-> Connector benachrichtigt den Controller
-> Controller führt Bet600 aus und am Ende der prozedur gibt er dem Server bescheid, die Clients zu aktualisieren
-> Server schickt Nachrichten
-> Client wertet sie aus und gibt über den anderen Connector der Benutzeroberfläche Bescheid dass sie aktualisiert werden muss
So würde es dann immer weiter gehn. Also hab mir da einige Gedanken zu gemacht und denke das is der simpelste Weg!?
Vielleicht hab ich aber auch einfach n Brett vorm Kopf und komm auf die viel einfachere Idee nicht!
Zu dem durcheinander Kommen der Nachrichten. Hab mir die mal per Showmessage ausgeben lassen, während der Server grade alle Infos des Clients aktualisiert, dh. es werden viele Nachrichten kurz nacheinander geschickt (mit Infos wie 'was ist momentan gesetz', alle in unterschiedlichen Nachrichten).
Die hab ich dann im onRead Event des Clients in die Variable 'Text' schreiben lassen und wollte sie mir dann ausgeben.
Aber statt das er nur zB 'CBet[600]' ausgibt, kommt er total durcheinander und schreibt zB 'CBet[600]AktuellerSpieler[3]'.
So das wars erstma wieder von mir, danke für die ausführliche Antwort!
Edit: Einfach mal Anhang vergessen
Edit2: Ach noch eine Frage. Kann ich bei einem Client irgendwie rauskriegen welche "Nummer" seine Verbindung hat? Also der Server schickt ja zB Nachrichten per Socket.Connections[i].SendText.
Wie krieg ich raus was das "i" eines Clients ist?
Hab bisher immer wenn ein Client connected hat vom Server eine Nachricht mit den aktiven Verbindungen (-1) geschickt (musste dann ja seine sein weil er als letztes connected hat).
Geht aber doch sicher auch einfacher?