|
Sergey |
Отправлено: 05.01.2010, 19:44 |
 |
|
Unregistered

|
Добрый день! У меня проблема с компонентом IdHTTP. (NMHTTP тоже самое)
Суть проблемы. Мною написана программа для обработки корпоративного прайс листа, На сайте имеется n ное колличество страничек ~ 20, которые скачиваются параллельно в потоке, тупо для ускорения процесса, тк странички сами небольшие ~50кб То есть я создаю параллельно 20 нитей :
[CODE] DLGO* ListTh[20]; // DLGO - трит
//i_progress = ListInTh->Count; //Synchronize(Update);
//ListInTh - список URL's for ( int pos = 0; pos < ListInTh->Count ; pos++ ) { ListTh[pos] = new DLGO(true); ListTh[pos]->FreeOnTerminate = true; ListTh[pos]->url = ListInTh->Strings[pos]; //ListTh[pos]->i_download_MainStr = 0; ListTh[pos]->Resume(); } [CODE] Код трита, очень простой, потом через синхронайз данные передаются. [CODE] IdHTTP * http = new TIdHTTP(NULL); try { item = http->Get(url); } catch(Exception &e) { // http->Disconnect(); } http->Disconnect(); delete http; // this->Terminate(); [CODE] Так вот, странички скачиюваются, все замечательно НО в ~50% случаев некоторые странички скачиваются вместо других. То есть:
site данные 1 111 2 222 3 333 4 444 5 555
после скачивания получается 1 111 2 111 3 333 4 444 5 555
При загрузки некоторых страниц , повторюсь в примерно 50% случаев я получаю данные других страц, никаких ошибок Indy мне не выдает,ссылки я все проверял.
С чем сие можеть быть связано? и что можно попробовать. При замене indy на nmhttp тоже самое. Заранее спасибо. |
 |
|