![]() |
Datei an Client schicken (IdTCP)
Moin
Bevor ich sinnlos rumprogrammiere wollt ich euch mal frage ob es überhaupt geht, dass man mit der Indy Komponente IdTCPServer Daten an den Client schickt? Mfg |
Re: Datei an Client schicken (IdTCP)
Siehe
![]() Das muss dann natürlich genau andersrum passieren, eine Verbindung von Client zum Server vorausgesetzt. Gilt für die Indys ab Version 10. Gruß, ManuMF |
Re: Datei an Client schicken (IdTCP)
Server sendet Dateien an den Client oder der Client an den Server.
Und ja, es ist möglich. Indy 10 hat im IOHandler entsprechende Methoden zum schreiben von Streams, also auch Dateien. Also wenn der Client
Delphi-Quellcode:
ausführt, wird der Strean an den Server "gesendet".
IOHandler.Write( myStream );
-- Holger |
Re: Datei an Client schicken (IdTCP)
@storm1988: Wenn du es wie in meinem Beispiel machst, musste du nur die Code-Zeilen im with-Bereich austauschen, und zwar
Delphi-Quellcode:
und
// Client
with Acontext.connection do begin try Socket.Write(IDS, 0, true); finally Disconnect; end; end;
Delphi-Quellcode:
Natürlich müssen auch die Streams andersrum behandelt werden (Open-Dialog bzw. feste Datei beim Server, Save-Dialog etc. beim Client).
// Server
with Acontext.connection do begin try SizeOfIncomingStream := Socket.ReadInteger; Socket.ReadStream(IDS, SizeOfIncomingStream); finally Disconnect; end; end; Gruß, ManuMF |
Re: Datei an Client schicken (IdTCP)
Zitat:
Mfg |
Re: Datei an Client schicken (IdTCP)
Indy 10 kann das automatisch. Das wird dann automatisch über einen Buffer etc. geregelt. Unter Indy 9 war das noch etwas komplizierter.
Antwort ist also: Dateien können beliebig gross sein. -- Holger |
Re: Datei an Client schicken (IdTCP)
Habe es bis 560MB ausprobiert, ging tadellos (hat halt nur lange gedauert).
|
Re: Datei an Client schicken (IdTCP)
geringe Bandbreite? :zwinker:
|
Re: Datei an Client schicken (IdTCP)
Hi Danke für die Infos :thumb:
Habs nämlich früher immer mit indy 9 realisiert und des war extrem umständlich...... |
Re: Datei an Client schicken (IdTCP)
Moin
Ich hät jetzt doch nochmal eine Frage zu deinem Source Code. Immer wenn ich mein Programm mit dem Code Compiliere kommt bei mir diese Fehlermeldung: Undefinierter Bezeichner: 'TidStreamVCL'. Muss ich da noch irgendwas zusätlich einbinden?? Mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 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