Трябва да прехвърля много файлове от един tcp indy сървър към клиент с помощта на компоненти INDY10. Има ли начин да се подобри скоростта на трансфер чрез задаване на който и да е параметър за комуникацията TCP клиент или сървър.
Размер на файла: ~ 10 MBYte .... 50 Mybte
Има ли ограничение по отношение на размера на файла, компютърът ми използва WIN 7 x64 и 32 GBYTE RAM. Нашата мрежа е LAN.100 друга локация LAN вече е подобрена до GIGABIT LAN
function SendStream(AContext: TIdContext; AStream: TStream): Boolean; overload;
var
StreamSize: LongInt;
begin
try
Result := True;
try
StreamSize := (AStream.Size);
// AStream.Seek(0, soFromBeginning);
AContext.Connection.IOHandler.Write(LongInt(StreamSize));
AContext.Connection.IOHandler.WriteBufferOpen;
AContext.Connection.IOHandler.Write(AStream, 0, False);
AContext.Connection.IOHandler.WriteBufferFlush;
finally
AContext.Connection.IOHandler.WriteBufferClose;
end;
except
Result := False;
end;
end;