|
|
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Я не зря поставил в заголовке темы знак вопроса. Объясню почему. Постараюсь описать суть проблемы. Есть несколько потоков отправки на разные адреса. При отправке используется IdHTTP. Indy 10. Есть несколько машин на которых эта отправка происходит. Но существует некоторая проблема. Не знаю с чем. Иногда нужно при отправке менять адрес, можно в настройках. На большинстве это проходит на ура, все работает отлично. Но вот на парочке, что-то происходит не так. При первой же отправке сообщения на новый заданный адрес Indy выдает Host not found. Хотя с этим же адресом на остальных машинах все нормально отправляется. Более того на этих проблемных машинах выдается ошибка при первой же отправке, так еще и на остальные адреса начинает выдаваться такая же ошибка Host not found. При смене проблемного адреса на прежний, все отправляется прекрасно, без проблем и ошибок. Подскажите пожалуйста, с чем это может быть связано. Ситуация очень непонятная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 15:11 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globe, сетевые настройки\прокси\hosts? ping разрешен\кто смелый настолько, чтобы проверить? Сверять конфигурацию сетевых настроек - не предлагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 15:26 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
sql2012, Предлагать можно все. Но все гораздо сложнее. Это не локальная сеть и даже не наша. Ну т.е. конечно наша, наших пользователей. :) И дело в том, что все эти настройки на стороне пользователя. Сам пользователь делает настройки, т.е. меняет адрес отправки удаленно. И всякие там пинги он даже и не делал. Ему просто не верится, что это может быть что-то не так у него. А это у нас что-то не так. Программа криво работает. Кстати машины выходят на связь через GPRS-модемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 16:30 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globe, тех.поддержку оказывали ранее или это первый продукт? нет понимания как работает используемый "код"? что с другими публичными адресами на проблемном ПК? самодиагностики в софте нет? что дает tracert\ping и т.п. до нужного и до "работающего публичного адреса"? какие фильтры\порты у компании разрешены и т.п.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2018, 20:38 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
sql2012, С пользователем работаем давно. Понимание кода есть, но только своего. Я просто понять иногда не могу как работает Indy. Вот хоть взять настройку этого адреса. Грубо говоря задали настройку в конфигурационном файле, считали, передали в метод Post(Url,SourceStream, ResponseContentStream); Все! Отправки происходят в разных потоках. Поток создался, передали параметры, получили результат, поток завершился FreeOnTreminate. Стоит застопориться первой отправке и начинается ступор всего и вся! Проходит первая отправка и все идет как надо. Не понятно почему так происходит. Ведь потоки и отправки не зависимы! А на проблемном ПК, как я уже говорил, есть стандартные наши адреса и адреса которые прописывает пользователь. И те и другие публичные. Про ping/tracert этих адресов ничего сказать не могу, т.к. вся настройка этих машин происходит удаленно. И даже не через удаленный рабочий стол. Про фильтры/порты тоже самое. Ведь самая главная загвоздка и основание пользователя и он, кстати, прав. Ведь не может при одном! проблемном адресе ломаться всё! Но по факту это так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 04:27 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globeНе понятно почему так происходит. Ведь потоки и отправки не зависимы! т.е. "SourceStream, ResponseContentStream" у каждого потока свой, отдельный от других потоков? возможно у Инди пул потоков переполняется, вам кажется что "застопорилась первая отправка", а на самом деле застопорилось N первых отправок, пул исчерпался, и пока старые потоки не умрут по таймауту новые нае создаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 12:38 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
Arioch, Но как этот пул потоков может переполняться? Вот если даже после перезапуска ПО отправка происходит с "нормальным" адресом, то все идет нормально. Если так же после перезапуска задать "проблемный" адрес, то все стопорится сразу же. И остальные отправки возвращают ошибку Host not found! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 13:44 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
Можно попробовать логгироние подключить, эврикалог. Возможно больше информации будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2018, 19:29 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
makhaon, А что покажет эврикалог? Куда отправляются запросы или стек вызовов? Она это будет делать все время или только во время какой-то ошибки? Просто насколько она будет полезна в такой ситуации? Появились некоторые подвижки. Перевел отправку с "проблемным" адресом с Indy на ICS. Возможно из-за того что на машине именно GPRS-модем, он не сразу выходит на связь. И в этот раз тоже самое. С ICS повторилась, судя по возвращаемым ей ошибкам, та же история. Она вернула ошибку 11001. Но через некоторое время все таки на связь вышла! Т.е. проблемный адрес через ICS проходит! И остальные отправки идут! Но не все так радужно. Как я упоминал раннее, что у нас свое. Мы предоставляем его пользователям и они его используют под свои цели и нужды. Это ПО позволяет собирать статистическую информацию, загружать логи, или иные файлы с ПК пользователей, отправлять обновления. Это могут делать как разработчики, так и сами пользователи. И вот соответственно это все настраивается. Некоторые пользователи хотят иметь свои хранилища файлов, иметь свои мониторинги статистики. И конечно мы идем им на встречу. И вот пожалуйста - результат! Но это было отступление. Вернемся к проблеме. Проблема с настройкой адреса на мониторинг статистки. Пользователь решил настроить свой мониторинг статистики. Чтобы все запросы шли через его адрес. Но при этом не отдельный мониторинг, а чтобы запросы шли через него и на наш адрес. Чтобы он все видел. Типа дубликата. Он этот адрес настраивает, отсылает на свои ПК. У него 25 ПК. 23 из них работаю с этим адресом, а 2 начинают вытворять чудеса которые описывал. Теперь повторюсь. Тогда еще отправка была на Indy. С Indy переделал отправку статистики на этот адрес через ICS. Отправка стала проходить и остальные потоки стали тоже проходить. Казалось бы что еще нужно? Вроде бы все хорошо отправки работают. Но с ПК иногда нужно и логи качать и обновления закачивать. И вот при попытке скачать лог или послать обновление, ПК пропадают со связи. Эти пара ПК. А все это скачка и загрузка выполняется в Indy. Загрузка файлов на ПК и на сервер выполняется через IdHTTP. Загрузка и выгрузка также происходит в отдельных потоках. Настройка в конфигурационном файле выглядит примерно следующим образом: Код: plaintext 1. 2. 3. Но как такое может быть? Ведь это совершенно разные адреса! И даже можно сказать разные компоненты отправки! Можно было бы погрешить на Indy, то она там чего-то не освободила и все. Но ведь статистика идет через ICS, а файлы загружаются через Indy, но проблемы осталась! Помогите разобраться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 05:04 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globe, авторА что покажет эврикалог? Куда отправляются запросы или стек вызовов? Она это будет делать все время или только во время какой-то ошибки? Просто насколько она будет полезна в такой ситуации? Стёк вызовов, если немного дописать, то и запросы. Будет делать во время исключения. Если нормально настроить - то есть шансы, что чем-то поможет. Качай триал и пробуй. Есть еще подобный софт Mad Exception. Хотя нам как-то EL удобнее оказался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 10:49 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globe, На проблемную машину ставь WireShark и смотри что там происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 10:50 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
Тебе нужна дополнительная информация, в общем. Иначе гадание по гуще. Возможно рано или поздно что-то получится. Но если хочется скорее рано, чем поздно - нужно искать причину. Врятли кто-то из хрустального шара тебе готовый ответ скажет. Может вирусы/антивирусы/фаерволлы виноваты. У нас с сетями то постоянно из-за них проблемы. Вплоть до того, что некоторые антивирусы то ли из-за багов, то ли из-за фич, пакеты могут портить. Всякого уж насмотрелся. А может и твоё, кто знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 10:58 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
На проблемную машину ни какие WireShark-и и т.п. установить не получится. Только если это сделает сам пользователь. Но пользователь уверен, что проблема в программе! Ведь есть необъяснимое поведение программы! Вот как объяснить пользователю почему так происходит? Какие-то фаерволы, сетевые настройки, антивирусы глючат? Но какие, и что с ними может быть не так? Ведь как объяснить то, почему разные! потоки на совершенно разные адреса спотыкаются и не хотят работать вместе? Почему например если один адрес проблемный, так на другие-то не отправляется? Какие-то глобальные сетевые настройки к которым компоненты, такие как Indy и ICS, обращаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2018, 14:26 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globeНа проблемную машину ни какие WireShark-и и т.п. установить не получится. Только если это сделает сам пользователь. Но пользователь уверен, что проблема в программе! Ведь есть необъяснимое поведение программы! Вот как объяснить пользователю почему так происходит? Какие-то фаерволы, сетевые настройки, антивирусы глючат? Но какие, и что с ними может быть не так? Ведь как объяснить то, почему разные! потоки на совершенно разные адреса спотыкаются и не хотят работать вместе? Почему например если один адрес проблемный, так на другие-то не отправляется? Какие-то глобальные сетевые настройки к которым компоненты, такие как Indy и ICS, обращаются? Если уверен в "своем коде": пиши тестовую утилиту, 1 поток, 1 адрес запускай свою программу - глючит? запускаешь тестовую (2 процесса) а) с работающим адресом б) с проблемны адресом глючит с проблемным адресом? вероятно проблема "не в твоих программах". сейчас выглядит как-то так: какие-то другие программы (глючат... пишешь) мешают моей работать в многопоточности и т.п... она спотыкается.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2018, 14:42 |
|
||
|
Indy 10. Host not found?
|
|||
|---|---|---|---|
|
#18+
snow_globe, Повторюсь. Пробуй EurekaLog/Mad Except. Ставить как раз ничего не нужно. Так же можно попробовать максимально логгировать соединения, может чем-то помочь. У нас, например, три уровня логгирования + побайтное логгирование входа/выхода. Протокол сложный. У нас часто бывает по 20-30 потоков на вход выход и больше. В сложных случаях, бывает, сильно помогает (если проблема на нашей стороне, конечно). Если юзера некотонтактные - это, конечно, хуже всего. авторИ всякие там пинги он даже и не делал Он не должен ничего делать. Всё вполне можешь сделать ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2018, 21:24 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2041223]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 501ms |

| 0 / 0 |
