Indy10のTIdTCPServerで、リクエストされたファイルをクライアントに送信するサーバプログラムを作成しています。
数十MBのファイルなら送信できているのですが、数百MBの大きいファイルを送信しようとすると、十数秒間を置いた後、EOutOfMemoryクラスが"Out of memory"という例外を出し、送信できずに終わってしまいます。
状況を再現するコードは、以下の通りです。
procedure TForm1.Server1Execute(AContext: TIdContext);
var
FilePath: String;
begin
with AContext.Connection do
begin
FilePath := IOHandler.ReadLn;
IOHandler.WriteFile(FilePath);
end;
end;
滞りなく送信するには、どのようにすれば良いのでしょうか。
ご教示お願い致しますm(_ _)m
---
LargeStreamプロパティをTrueにしたり、
Writeメソッドを使ってみても状況は変わりませんでした。
申し訳ありません。環境を書きそびれていました・・。
Windows XP Professional SP2
Delphi6 Personal
です。宜しくお願いします。
ツイート | ![]() |