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..!?