2017-04-01 16 views
2

私は、再開可能なダウンロードやプロキシ経由のダウンロードなどのカスタム機能を備えたDelphiでダウンロードマネージャを作成しています。Delphi:TIdHTTP vs TNetHTTPClient

私はさまざまなコンポーネントソリューションを驚かせています:IndyとNetHTTPはどちらも非常に近いようです。

  • TNetHTTPClientwinhttp.dllのインタフェースであるように見えます。

  • TIdHTTPwininet.dllのインターフェイスであるようです(ただし、わかりません)。

  • TIdHTTPは非常に古いコンポーネント(おそらく非常に安定/テスト済み)のようであり、オンラインで数多くのドキュメントを持っています。

  • TNetHTTPClientは非常に最近のコンポーネントであると思われ、オンラインの良いドキュメントはありません。

私は少し決心しています...どちらを選ぶのですか?

ポイントは:これら2つのコンポーネントの主な違いは何ですか?

私の質問は、(主に意見に基づいて)少し異論がありますが、私はこれらの2つのコンポーネントの間の実用的な比較を見つけることはできませんでした。

答えて

3

IndyはWinInet/WinHTTPをまったく使用しません。これはクロスプラットフォームのBSD/POSIXベースのソケットAPIを直接(WindowsのWinSockのように)使用し、インターネットプロトコル(HTTPなど)をゼロから完全に実装します。

TIdHTTPは、HTTP実装です。

は、代わりに(WindowsのWinInet/WinHTTPのように)システム提供のHTTP APIをラップします。

+0

TNetHTTPClientとTIdHTTPでは、どちらが高速で信頼性が高いですか?私は常にidHTTPを使用していますが、私のベンチマークではTNetHTTPClientはもっと速いようです。 –

+0

@CescoBagnoli私はそれに答えることができません。このようなベンチマーク比較は一度もなかった。 –