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;
HTTP компоненты и Keep-Alive соединения
При использовании стандартной компоненты TNMHTTP в случае keep-alive соединения загрузка процессора составляет 100%.
iPRO компонета для HTTP не поддерживает работу с keep-alive соединениями.
Соответственно два вопроса:
1. Можно ли как-нибудь "наколдовать" с TNMHTTP чтобы исправить ситуацию
2. Какие компоненты для работы с HTTP посоветуете? Насколько бажная TIdHTTP?
Вот код:
Код:
Возможно я где-то накосячил :)
- а таймаут у тебя стоит прямо опупенный :) -поставь че-нидь пореальнее, ато при потере соединения у тебя будет виснуть
:) -увидел, где ты задаешь хост