Das Problem ist, dass die Gegenseite wissen muss, wie groß die Datei ist, die empfangen werden soll. Wenn sie das weiss, kannst du so arbeiten:
Delphi-Quellcode:
var FS:TFileStream;
begin
FS:=TFileStream.Create('C:\Test.txt',fmCreate);
try
idTCPClient1.ReadStream(FS,Dateigroesse);
finally
FS.Free;
end;
end;
Du musst also
vor dem Senden der Datei deinem Client mitteilen, wieviel auf ihn zukommt. Sonst weiss er nicht, wann er aufhören soll Daten zu sammeln. Alternativ kannst du auch eine zweite Verbindung öffnen (vgl.
FTP) und über diese die Datei übertragen - das hätte den Vorteil, dass man während der Übertragung weiterchatten kann.
Gruß,
maxk
Ein im Mittelpunkt stehender Kunde steht im Weg.