Hi! Danke für deiene Antwort.
Ehm... Also ich hab das nicht ganz so gemacht aber so ähnlich
Ich habs so, dass sobald sich der Client auf dem Server einloggt, der Server die Benutzerliste erstmal vollständig sendet. Jede Aktion hat auf dem Server und auf den Clienten eine Bezeichnung (erster Buchstabe des gesendeten Strings vom Clienten und Server). Beispielsweise meldet sich ein Client beim Server mit ">Clientname" an und mit "<Clientname" wieder ab. Sobald ein Client sich eingeloggt hat, wird die Benutzerliste vom Server an diesen Clienten gesendet (mit "UClientname" in einer Schleife, bis alle Benutzernamen gesendet sind). Sobald ein Benutzer sich vom Server absendet, sendet der Server "EClientname" an alle Clients und dieser Benutzername wird aus der Benutzerliste entfernt. Wenn ein Client eine Nachricht abgesendet hat, sieht der String so aus: "BClientname: Nachricht". Der Status wird mit "OClientname" für Online, "AClientname" für Abwesend und "TClientname" dafür, dass ein Client gerade eine Nachricht eingibt. All das geht zuerst an den Server und wird dann an alle Clienten verteilt (außer PM's ("PClientname:Nachricht@Benutzer1@Benutzer2@... ").
Ich hoffe, das Prinzip ist soweit erstmal verstanden worden.
MfG julien