Woher weiß der Client, wie viele Segmente es insgesamt gibt?
Das weiss er nicht. Theoretisch sind das unendlich viele, bei einer Anwendung die unendlich läuft und zyklisch Daten empfängt.
Dementsprechend müsste ja da der Puffer angepasst werden.
http://de.wikipedia.org/wiki/TCP_Receive_Window
Ich habe erst vermutet, dass der Client ja sieht, wenn der Payload des "letzten" Pakets nicht "voll" ist.
http://de.wikipedia.org/wiki/Nagle-Algorithmus