Registriert seit: 3. Sep 2004
4.629 Beiträge
Delphi 10.2 Tokyo Starter
|
Suche Konzept: Gleichzeitige TCP Datentransfers
31. Jan 2010, 20:54
Hey,
ich möchte ein Programm schreiben, welches z.B. 5 Dateien gleichzeitig an einen Empfänger senden kann. Hierbei möchte ich auch nur ein Socket verwenden. Ich habe mir überlegt, dass ich in jedem meiner Sende Threads die Daten erstmal in Pakete aufteile und dann nacheinander sende.
Normalerweise habe ich die Größe der Daten vorweggesendet und dann beim Empfänger solange gewartet, bis alle Daten vollständig sind.
Bei den Multi Threaded Transfers allerdings habe ich ja zusätzlich das Problem, dass ich die einzelnen Datenblöcke beim Empfang richtig zuordnen können muss. Ich hatte überlegt auf Seiten des Senders eine ID einzuführen, die bei jedem Transfer um 1 erhöht wird und die zusätzlich zur Paketgröße jedem Paket als Header vorweggeschickt wird. Das erste Paket würde dann die Größe der Gesamtdaten beinhalten, woraufhin dann nach beschriebenem Muster die Datenpakete folgen würden. Durch die IDs wären die Pakete beim Empfänger ja eindeutig zuzuordnen.
Die Sende Threads würden sich dann selbstständig nach dem Senden eines Paketes anhalten und den nächsten Thread starten, bzw. das könnte man sicher auch über CriticalSections einfacher regeln oder?
Hat jemand vielleich ein einfacheres oder besseres Konzept?
Viele Grüße
Zacherl
|