Einzelnen Beitrag anzeigen

prinz_inzide

Registriert seit: 24. Jan 2005
64 Beiträge
 
#6

Re: Stream versenden mit Indy 10

  Alt 6. Mai 2005, 22:41
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!
  Mit Zitat antworten Zitat