Nja, das macht dann so maximal 5-7 MByte/s und dazu dann noch der Weg durchs Netz.
Und was hat die Gegenseite?
Und, du kannst problemlos Exceptions benutzen, denn DataSnap überträgt sie auch.
Ich hab nochmal einen meiner Threads rausgekramt.
http://www.delphipraxis.net/158379-w...ml#post1108637 #17
Bis standardmäßig 29KB lassen sich Streams problemlos übertragen.
Der Übertragungspuffer ist per Default 32 KB groß und alles was größer ist, wird gestückelt.
Stream.Size liefert dabei nur noch -1 und man muß/kann dann nur noch "blind" einlesen, bis zum Stream-Ende.
Im Notfall kann man sich eventuell per Var-Parameter noch die Streamgröße mit übertragen, damit man die Größe prüfen kann. (das hab ich bei uns aber nicht und es läuft dennoch)
function TServerMethods1.GetFile(Filename, Version: string; var StreamSize: Integer): TStream;
procedure TServerMethods1.PutFile(Filename, Version: string; Stream: TStream; StreamSize: Integer);