Und wie kann ich das Problem lösen?
Kenne mich da nicht so wirklich aus mit
TCP.
Verwende eine
TCP-Bibliothek, die dieses Problem für dich löst - zum Beispiel Internet Direct (
Indy) oder Synapse. Der übergibt der Client einen Text und dessen Länge, oder einen Terminator, und der Gegenpart kann dann bequem die gesamten gesendeten Daten lesen.
Die Daten müssen dann nur eindeutig getrennt sein, z.B. ist ein CR/LF als Trennzeichenfolge ungünstig wenn die zu transportierenden Daten bereits diese Trennzeichenfolge enthalten können. In diesem Fall kann man auf ein Trennzeichen ausweichen das nicht in den Nutzdaten enthalten ist (#0 zum Beispiel), oder vor den Daten deren Länge (Anzahl der folgenden Bytes) übermitteln.
Indy bietet da viele nützliche Varianten der Write... und Read... Methoden.