1

TIdHTTP Post を使用して大量のデータをサーバーに送信しています。アップロードは問題なく機能しますが、ネットワークを切断してから再接続すると、中断したところから続行する必要があります。これはすべて正常に機能する場合もありますが、ネットワークが切断されると、現在のチャンクがハングします。Post リクエストが返されることはありません。

アップロードをあきらめないことが不可欠です。アップロードは最終的に完了する必要があります。ソフトウェアは通常のユーザーの PC で実行されるため、ネットワーク トポロジや安定性を制御することはできません。

では、無期限にハングアップするのではなく、ネットワーク切断時に Post 要求が失敗するようにするにはどうすればよいでしょうか?

「最終的に失敗する」かどうかを確認する忍耐力はありません。何度か待ったけど戻ってこない。さらに、最終的に失敗したとしても、長すぎます。スケジューリングの制御を取り戻すことができるように、これをすばやく失敗させる必要があります。

タイムアウトを強制して実際に機能させる方法はありますか? デバッガーは、IOHandler.ReadLn の FDSelect でハングしていることを示しています。

私のIndyのバージョンは10.5.5で、これも簡単には変更できません...

4

0 に答える 0