TIdTCPServerで大きいファイルを送信するには?


ビギナー  2008-03-20 07:07:16  No: 30221

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メソッドを使ってみても状況は変わりませんでした。


ビギナー  2008-03-20 07:12:31  No: 30222

申し訳ありません。環境を書きそびれていました・・。

Windows XP Professional SP2
Delphi6 Personal

です。宜しくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加