Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

HTTP компоненты и Keep-Alive соединения

2.4K
02 февраля 2006 года
Russtam
33 / / 26.07.2003
Вопрос по сабжу.

При использовании стандартной компоненты TNMHTTP в случае keep-alive соединения загрузка процессора составляет 100%.

iPRO компонета для HTTP не поддерживает работу с keep-alive соединениями.

Соответственно два вопроса:
1. Можно ли как-нибудь "наколдовать" с TNMHTTP чтобы исправить ситуацию
2. Какие компоненты для работы с HTTP посоветуете? Насколько бажная TIdHTTP?

Вот код:
Код:
procedure TReceiveThread.HTTPAboutToSend(Sender: TObject);
begin
  HTTP.SendHeader.Values['Connection'] := 'Keep-alive';
end;

procedure TReceiveThread.DoWork;
begin

  HTTP := TNMHTTP.Create(nil);
  HTTP.TimeOut := 0;
  HTTP.OnPacketRecvd := HTTPPacketRecvd;
  HTTP.OnAboutToSend := HTTPAboutToSend;
  try
     HTTP.Post(fURL,DEF_IND_SUBSCR_REQV);
  finally
    HTTP.Free;
  end;

end;

procedure TReceiveThread.HTTPPacketRecvd(Sender: TObject);
begin
  // обработка
end;

procedure TReceiveThread.Execute;
begin
  DoWork;
end;


Возможно я где-то накосячил :)
7.8K
03 февраля 2006 года
DrCoder
106 / / 27.01.2006
а ты куда пакеты посылаешь? -я что-то не заметил,что ты задаешь хост или URL и все такое...
- а таймаут у тебя стоит прямо опупенный :) -поставь че-нидь пореальнее, ато при потере соединения у тебя будет виснуть
7.8K
03 февраля 2006 года
DrCoder
106 / / 27.01.2006
:) -увидел, где ты задаешь хост
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог