Перейти к содержанию
Fire Monkey от А до Я
  • 0

Что лучше: TIdHttp или TNetHTTPClient?


Вольдемар

Вопрос

Подскажите, что лучше использовать: TIdHttp или TNetHTTPClient?

Запрос при Get одинаковый, но TNetHTTPClient возвращает корректный ответ от сервера, а TIdHttp  - 400-ю ошибку.

В то же время есть ощущение, что TIdHttp работает быстрее, чем TNetHTTPClient.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Раньше использовал TIdHttp, затем перешёл на THttpClient.

THttpClient и TNetHttpClient - по сути одно и то же, только последний является визуальным компонентом.

Поэтому в вашем случае корректнее сравнивать THttpClient и TIdHttp.

Конкретно для моих целей использование THttpClient предпочтительнее, поскольку он из коробки работает с https на всех платформах, а в случае TIdHttp для этого ещё нужно подключать ssl.

Разницы в скорости работы не замечал.

Ссылка на комментарий
  • 0
  • Модераторы
15 часов назад, FREEFAR сказал:

Если правильно помню THttpClient работает асинхронно

синхронно и асинхронно, смотря как настроить

Ссылка на комментарий
  • 0
16 минут назад, GASCHE сказал:

А как настраивать?

У компонента TNetHttpClient насколько я помню есть свойство Asynchronous, если выставить значение в true, то работа компонента станет асинхронной, а вот про THttpClient такого сказать не могу (по крайней мере я не понял как там можно настроить его на асинхронную работу), но проблему асинхронности с компонентом THttpClient можно  решить с помощью потоков.

Изменено пользователем Дмитрий Потапов
Ссылка на комментарий
  • 0
  • Модераторы

Если не изменяет память, то:

Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток.

На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас :) (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью)

 

p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...