2017-04-01 1 views
2

J'écris un gestionnaire de téléchargement dans Delphi avec quelques fonctionnalités personnalisées comme les téléchargements résumables et le téléchargement via des proxies.Delphi: TIdHTTP vs TNetHTTPClient

J'étudie différentes solutions de composants: Indy et NetHTTP, les deux semblent très proches.

  • TNetHTTPClient semblent être une interface de winhttp.dll. Semble être une interface de wininet.dll (mais je ne suis pas sûr). Ressemble à un très vieux composant (peut-être très stable/testé) et a une tonne de documentation en ligne.

  • TNetHTTPClient semble être une composante très récente, et n'a pas une bonne documentation en ligne.

Je suis un peu indécis ... lequel choisir?

Le point est: quelle est la principale différence entre ces deux composants?

Ma question est un peu discutable (principalement basée sur l'opinion), mais je n'ai trouvé aucune comparaison pratique entre ces deux composants.

Répondre

3

Indy N'utilise PAS du tout WinINet/WinHTTP. Il utilise directement des API de socket basées sur BSD/POSIX multiplateformes (comme WinSock sous Windows), implémentant complètement des protocoles Internet (comme HTTP) à partir de zéro.

TIdHTTP est une implémentation HTTP manuelle. En revanche, les API HTTP fournies par le système sont remplacées par les API HTTP fournies par le système (comme WinInet/WinHTTP sous Windows).

+0

Quel est le plus rapide et le plus fiable de TNetHTTPClient et TIdHTTP? J'ai toujours utilisé idHTTP, mais à partir de mes repères TNetHTTPClient semble être plus rapide –

+0

@CescoBagnoli Je ne peux pas répondre à cette question. Nous n'avons jamais fait de comparaison comparative de ce genre. –