obligatorischer Hinweis Nummer 1:
TCP sichert nicht ab, dass ein Paket zusammen ankommt, es kann auch zerstückelt werden, oder gleich zwei hintereinander gesendete kommen als eins an. Du brauchst also entweder ein Ende-Zeichen je Nachricht, oder du hast ein Protokoll-Header, welcher an definierter Stelle, die Größe des Gesamtpaketes mitsendet. Natürlich musst du hinterher die Pakete wieder trennen. (zum Testen musst du mal Benutzernmane über
IMHO 1000 Bytes versenden.)
Ansonsten sieht dein Protokoll soweit ok aus.
Ich würde aber bei falscher Benutzereingabe nicht gleich trennen, sondern erst eine Meldung schicken und dann trennen.
Gegen DOS o.ä. -Attacken kannst du dich vielleicht auch wehren. Hier schaust du dir in OnConnect mal die RemotAddresse des Sockets an.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.