hab genau das selbe problem..
habs so VERSUCHT zu lösen (geht leider net)..
Delphi-Quellcode:
var
stream:TIdStreamVCL;
fs:tfilestream;
ms:tmemorystream;
copysize,gesendet,splitsize:integer;
[...]
procedure TForm1.Button1Click(Sender: TObject);
begin
fs:=tfilestream.Create('c:\stats.jpg',fmopenread);
ms:=tmemorystream.create;
gesendet:=0;
fs.Position:=0;
splitsize:=1024;
while gesendet<fs.Size do begin
copysize:=fs.Size-gesendet;
if copysize>splitsize then
copysize:=splitsize;
ms.Clear;
ms.CopyFrom(fs,copysize);
gesendet:=gesendet+copysize;
stream := TIdStreamVCL.Create(ms);
idtcpclient1.Socket.WriteLn(inttostr(copysize));
idtcpclient1.Socket.WriteBufferOpen;
idtcpclient1.Socket.Write(stream);
idtcpclient1.Socket.WriteBufferclose;
stream.destroy;
end;
end;
aber es kommt immer der fehler:
Socket Error 10053 - Software caused connections abort
weis einer was da oben dran falsch ist?
bin totaler stream-einsteiger..
[edit] könnt auch sein, dass einfach ein logik-fehler drin ist..
wie gesagt bin stream-noob..
[/edit]
danke!