Einzelnen Beitrag anzeigen

m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: nach versenden mit indy datei unbrauchbar

  Alt 5. Mär 2006, 18:29
ich habe jetzt eine Sache herausgefunden.

die Satei wird stückweise übertragen

Server
Delphi-Quellcode:
 while (FileSize > 0) AND (not Fehler) do
                            begin
                            SendSize := FileSize;
                            if SendSize > PaketSize then SendSize := PaketSize;
                            FileSize := Filesize - SendSize;
                            try
                               Athread.Connection.OpenWriteBuffer;
                               Athread.Connection.WriteStream(FStream, false, true, SendSize);
                               Athread.Connection.CloseWriteBuffer;
                               //Updaten des Statusbars
                            except
                               fehler := true;
                               WriteByte(Athread, cZhopa);
                               break;
                            end; // try-except

                            end; // while
sendize ist in diesem Fall 20*1024

und wird empfangen von client auch stückweise in der gleichen Größe

Delphi-Quellcode:
 while (FileSize > 0) and (not fehler) do
                                  begin //20*1024
                                    if PaketSize > FileSize then PaketSize := FileSize; //Wenn die DAtei kleiner ist als 20 kb
                                    try
                                       Fclient.ReadStream(FStream, PaketSize);
                                       FileSize := FileSize - PaketSize;
                                    // Fstream.Position := FileSize;
                                    except
                                       fehler := true;
                                       WriteByte(cLogOut);
                                       Downloads.PSetStatusOfDownloadFile(cLogOut, Fclient);
                                       Fclient.Disconnect;
                                       Break;
                                    end; // except
                                   end; // while
wenn ich die Größe ändere von 20*1024 auf 1000*1024 verringert sich die Anzahl, der Aussetzer im lied sehr.

habe noch mal getestet mit word dokummenten, word kann sie nicht mehr öffnen...

wie kann man das erklären..!?
  Mit Zitat antworten Zitat