![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.02.2015
Сообщений: 5
|
![]()
Пишу простое приложение, которое использует indy10. В потоке работает idhttp клиент и посылает post запросы на сервер, обрабатывает ответы. В общем все хорошо, но периодически программа стала зависать, нет отклика от потока, снифер показал что по непонятным причинам один и тот же запрос может поставить indy (или сервер) в тупик - Request is not completed. waiting... , вроде как запрос ушел, а ответа от сервера нет или он просто бесконечный. Уже была похожая тема, но ответа так и не было. С этой проблемой часто сталкиваюсь в использовании Indy. ReadTimeout и ConnectTimeout выставлены и если есть ошибка таймаута - прекрасно, я хоть могу ее обработать, а тут и ни ошибки, ни движения, нужна помощь. Если нужен код то
Код:
Последний раз редактировалось Stilet; 27.02.2015 в 22:35. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 21.07.2013
Сообщений: 2
|
![]()
Все помешались на Indy ...
Очень советую установить Synapse и у вас будет возникать намного меньше вопросов,да и пользоваться указанной либой намного проще. По-поводу проблемы - данный глюк присутствует уже не в первой версии инди,как и когда они исправят ,пока остается тайной. Ну и маленький пример,если вдруг понадобится: В uses добавляем httpsend Прописываем в переменных HTTP: THTTPSend; (HTTP можете заменить,на всё ,что душе угодно) Далее,для примера возьмём клик по кнопке,с помощью которого будем слать пост запрос. Код:
Последний раз редактировалось LiteCrew; 27.02.2015 в 23:21. |
![]() |
![]() |
![]() |
#3 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#4 |
Регистрация: 05.02.2015
Сообщений: 5
|
![]()
Запросы уходят довольно часто, сервер однозначно запрос обработать успевает... насчет защиты сервера буду думать... но тогда бы хоть какая-то закономерность была бы у него, через N запросов и/или T времени, а тут ведь может работать без проблем, а может зависнуть без причины... Кроме того таймауты выставлены и они ловятся, но вот возникают такие ситуации когда и время вышло и таймаут не вернулся и ответа от сервера нет...
Последний раз редактировалось Milkynder; 02.03.2015 в 16:38. |
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 05.02.2015
Сообщений: 5
|
![]()
Согласен, и пусть сервак забивает на мои запросы, я не обижусь подожду и спрошу снова, меня бы вполне удовлетворило если при этом возникала ошибка "таймаута" и ее можно было бы поймать и обработать, ведь если сервер не отвечает или не доступен или превышен интервал ожидания, должна же быть ошибка... а клиент просто висит и ждет бесконечно... Есть конечно особенность: запрос идет в отдельном потоке (сразу оговорюсь - не несколько потоков с одинаковыми запросами, а цикл в одном потоке). Есть мысли?
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 22.11.2009
Сообщений: 142
|
![]()
Я скажу, что у меня нет проблем с indy вообще не каких. (да глюченый, но работает)
Цитата:
----------- По поводу пустого ответа POST скажу так... 90% что вы отправляете не полные данные. Сделайте обработчик ошибок и посмотрите, что Вам пишут. Какой код ответа показывает сниффер?
Если помог: Нажми Весы и оставь отзыв!!!
|
|
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 22.11.2009
Сообщений: 142
|
![]()
Если помог: Нажми Весы и оставь отзыв!!!
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 05.02.2015
Сообщений: 5
|
![]()
В моем случае Stilet оказался прав, действительно похоже была защита, изменил алгоритм запросов, увеличил между ними задержку и зависать перестали. Post запросы были полными, но вопрос остается открытым, пусть даже в данном случае когда запрос вот так игнорированием отбривает сам сервер, как его обработать, ведь никаких ошибок не возникает, он просто бесконечно ждет.Smagulov85 снифер при этом ничего не показывает, ушел запрос и все, от сервера нет ничего, совсем ничего, ни ошибки, ни какого ответа. Я так понимаю для таких случаев в инди есть параметры таймаутов и они срабатывают (проверено), но не в этом случае.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нет ответа от почтового сервера | kirsanv43 | C/C++ Сетевое программирование | 2 | 29.10.2013 20:22 |
HTTP/S Снифер | EliteDeN | Общие вопросы Delphi | 0 | 27.10.2013 22:08 |
HTTP снифер для многопоточного приложения | bakanaev | Общие вопросы Delphi | 3 | 06.05.2013 14:21 |
Http Server request | toxich | Работа с сетью в Delphi | 0 | 07.01.2012 17:46 |
HTTP снифер на делфи | codekick | Работа с сетью в Delphi | 0 | 25.07.2010 23:28 |