Es sind einfach zwei unabhängige Streams von Paketen.
Nur das Ack gehört zum aktuellen Paket,
die Daten mussten aber vor Empfang des Pakets generiert und übertragen werden.
Du kannst keine Antwort erwarten, die vorliegen muss, ehe die Frage gestellt wird.
Die Kommunikation soll so schnell als möglich erfolgen,
da bleibt keine Zeit vor einem Ack den Prozessor zu bemühen.
Insofern ist deine Anwendung nicht wirklich darauf abgestimmt,
kann aber über einen zweiten Request erfüllt werden.
Willst du lieber jedes Mal den Mode beider Stationen ändern,
um die Antwort zu übertragen?
Das dauert länger als ein zweiter Request.
Es funktioniert halt nicht so wie du (und viele andere) sich das vorstellen,
bevor sie sich wirklich damit auseinandersetzen.
Ist ein prima Rückkanal, aber halt ein Paket versetzt, was in der Natur der Sache liegt.
Aber es ist wie mit der maximalen Paketlänge,
mehr wäre schöner, aber man kann und muss damit leben.