Einzelnen Beitrag anzeigen

Stefanie

Registriert seit: 12. Aug 2004
21 Beiträge
 
#1

Stream über TCP - Blockaufteilung ?

  Alt 3. Dez 2009, 10:45
Ich möchte über TCP Streams übertragen. Nun ist es ja bei TCP nicht so einfach wie bei UDP. Bei UDP kann ich einfach einen Stream senden und dieser kommt beim UDP-Emfänger in einem Stück wieder so an. Bei TCP - soweit ich das bisher richtig verstanden habe - werden die Daten(also der Stream) Blockweise übertragen und ich muß den Stream beim Emfänger aus den einzelnen Blöcken wieder zusammensetzen. Nun ist es nach meinen Tests so, dass größere Streams in mehrere Blöcke aufgeteilt und so Stück für Stück übertragen werden. Hingegen bei vielen kleinen Streams(Streamgröße ~ 5 bis 10 Byte), die schnell hintereinander gesendet werden (über socket.sendstream(Stream)) kommen auf der Emfängerseite mehrere Streams zu einem Block zusammengefasst an. Bei einer langsamen Netzwerkverbindung, z.B. über Modem bzw. ISDN tritt die Zusammenfassung von Streams zu größeren Blöcken deutlich stärker auf als bei einer schnellen internen LAN-Verbindung.

Nun meine Frage(n): Kann ich irgenwo festlegen, dass die kleinen Streams nicht zu mehreren Blöcken zusammengefasst und gesendet werden, bzw. kann ich die Blockgröße festlegen.
Gibt es eine verständliche Logik, wie die Blockgröße bei TCP festgelegt wird. Weis ich schon irgendwoher schon beim Senden, in welche Blöcke mein Stream aufgeteilt bzw. zusammengefasst wird ?
  Mit Zitat antworten Zitat