![]() |
[Indy] TCP. Wann Stream, wann Client.WriteLn?
Hio,
ich habe mich ein bisschen mehr mit TCP beschäftigt und stell mir gerade folgende Frage: Wenn ich reinen Text versende, wie viel darf / sollte ich maximal in ein Client.WriteLn(); packen? Könnte ich rein theoretisch 3 MB mit einem Mal an Text über WriteLn verschicken? Sollte ich dann lieber je 100 kb ein WriteLn versenden oder gleich ein Stream? Können beim teilen in einzelne WriteLn's / Pakete auftreten?* Können Probleme beim Versenden von 3 MB in einem Paket Probleme auftreten? Die 3 MB sind einfach nur ein Beispiel. Würde mich mal interessieren, wie ihr das macht. * Da die Reihenfolge der empfangenen Pakee nicht festlegt, würde ich natürlich immer ein P1v50, P2v50, etc. voranstellen, um es anschließend sortieren zu können. Das "Problem" ist mir also durchaus bewusst. Aber könnten noch andere auftreten? Und wie kann ich feststellen, wann alle Pakete angekommen sind um sie zu sortieren (außer mit meiner Methode mit P1v50 (Part 1 von 50)). |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
wenn du 100kb mit nur reinem Text zusammenbringst :thumb:
schau dir einmal das OS Projekt von ![]() |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Zitat:
... so viel ich mich noch ernnern kann |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
:mrgreen:
Zitat:
Zu deinem Beispiel: Wie man Dateien splittet ist mir durchaus bewusst. Aber dann kann ich doch gleich nen Stream benutzen. :? Odere ich splitte den TEXT und versende ihn einzeln als WriteLn. :mrgreen: :mrgreen: :mrgreen: |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
also wenn du 3 MB über Writeln schickst ist das imho kein Problem
Wenn du das direkt in der GUI machst wir die GUI halt blockiert aber dafür kannst du ja die TidAntiFrezze benutzen. Es wird dabei kein 3 MB Packet geschickt, sondern meist 1500 Byte große Packete (MTU). Soviele halt bis deine 3MB über die Leitung sind. |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Zitat:
|
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Zitat:
|
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Zitat:
Alles klar. Danke euch allen. Damit ist die Frage hiermit beantwortet. :) |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Doch, es kommt als einzelne ReadLns, denn WriteLn hängt ein #10 oder #13 (welches, weiß ich nicht mehr) dahinter, sodass das ReadLn auf der anderen Seite solange liest, bis es zu diesem Zeichen gelangt. Macht
![]() |
Re: [Indy] TCP. Wann Stream, wann Client.WriteLn?
Zitat:
er meinte wenn er 1 WriteLn aufruft und damit 3 MB sendet ob er dann einmal ReadLn machen muss oder öfter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz