Dieses Verständnisproblem ist anscheinend bei vielen vorhanden. Der Socket überträgt rein die Bytes die ihm angetragen wurden. Dabei sorgt er nur dafür, dass die Bytes in der richtigen Reihenfolge wieder hinten rauskommt, nicht aber wie sie aufgeteilt werden. Wenn du eine schlechte Internetverbindung hast, dann kannst du im schlechtesten Falle mit jedem einzelnen Zeichen aufgerufen werden. Der Socket implementiert kein Protokoll, dass musst du machen, er überträgt rein die Daten. Er garantiert dir die Reihenfolge, die Teilung ist aber völlig belanglos.
Denk dir ein Protokoll aus, damit der Empfänger weiss, wieviele Daten er empfangen muss bis es komplett ist oder sammle so lange bis der
XML Parser sagt: Jo, vollständig. Dann heb den Rest auf, der wird dann wohl für eine neue
XML Struktur sein die folgt.