Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Технология Indy и многопоточность   Найти похожие ветки 

 
Woolen ©   (2002-12-26 12:17) [0]

Здравствуйте!
Подскажите, пожалуйста. Моя программа должна обращаться к серверу HTTP и закачивать оттуда инфу. Используются компоненты Indy. Для того, чтобы программа не теряла управление на время закачки, этот (не такой уж и простой механизм) использует многопоточность, но сейчас она реализована при помощи стандартного дельфийского механизма многопоточности и имеет много глюков. Бороться с ними крайне неудобно. Насколько я понял, в движке Indy есть свои механизмы многопоточности. Понимаю, что глупо, но из справки не могу понять как ими воспользоваться, чтобы работать с потоками на более высоком и адаптированном для сетей уровне. Если не трудно, опишите в двух словах схему каким классом, методами пользоваться для создания HTTP-загрузки в отдельном потоке, как завершить это по дисконнекту, запросу пользователя и т.д. Заранее спасибо.


 
Reindeer Moss Eater   (2002-12-26 12:22) [1]

чтобы программа не теряла управление на время закачки ...
А куда оно (управление) теряется?


 
Woolen ©   (2002-12-26 12:30) [2]

Если в программе не создавать многопоточности, то Indy HTTP занимает основной поток работой, связаной с TCP/IP. То есть, вызов процедуры Post полность передает управление в нее и оно вернется только после того, как будет передан запрос и принят ответ. Естественно, если ответ "весит" 4 мегабайта и передается по модему 14,4, то реагировать на действия пользователя программа начнет не скоро.


 
Reindeer Moss Eater   (2002-12-26 12:31) [3]

Для этого в Indy есть TidAntiFreeze


 
Woolen ©   (2002-12-26 14:13) [4]

Спасибо



Страницы: 1 вся ветка

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.035 c
3-52785
dimmu3
2003-01-31 13:33
2003.02.17
количество клиентов, которое может быть соединено с IB-сервером


7-53316
der
2002-12-15 17:24
2003.02.17
shift+page_down в dbgrid


1-53029
Andrew123
2003-02-10 20:34
2003.02.17
tscrollbox


14-53238
Катерина
2003-01-31 23:50
2003.02.17
О мониторах


4-53320
Cobalt
2003-01-06 21:32
2003.02.17
Опять SysTray ^__^