-
Здравствуйте!
Проблема такая, что нужно отправлять три запроса методом post по ssl, что и делаю при помощи delphi: var params:TStringList; begin params:=TStringList.Create; params.Add('statusUpdate=true'); params.Add('newStatus=offline'); http.Request.ContentType := 'application/x-www-form-urlencoded'; http.Request.Connection := 'keep-alive'; http.Post('<mylink>',params);
Результат - всё отправляется, но задержка примерно 5 секунд. Затем SSL разрывает связь, потом снова получает ip домена, потом подключается и снова отправляет. В итоге три запроса = 15 секунд, это очень негативно влияет на всю работу, может какой компонент или еще какие мысли?
Изменить keep-alive со стороны сервера нельзя.
-
то есть SSL у меня стоит как IOHandler может по-этому? То есть его надо открыть и не закрывать до конца отправки? А как.?
-
стать 3 запроса параллельно = 5 сек.
-
Как
-
Так, убрал подключение по SSL галочками в настройках idHTTP.
Теперь вопрос, а почему может idHTTP долго отправлять форму? Ждёт ответа? А как пресечь, мне не нужен ответ.
-
Проблема решена установкой read time out.
Проверил даже - отправляет спокойно 100 запросов в секунду =)
-
> Антон Павлович Мишутин (06.06.2012 13:33:04) [4]
Indy это синхронные компонент, дав команду POST не прервешь, пока не будет получен ответ, а вот в асинхронных (например ICS) просто - obj.Free
-
> Антон Павлович Мишутин (06.06.2012 13:33:04) [4]
Надеюсь ты в потоках это делаешь, тогда убивай поток
|