Форум: "Начинающим";
Текущий архив: 2013.08.11;
Скачать: [xml.tar.bz2];
ВнизДинамическое создание idHTTP или использование потока? Найти похожие ветки
← →
Pcrepair © (2012-12-09 21:05) [0]Добрый день. Есть базовая функция загрузки страницы (в упрощенном виде и без компоненты на форме):
function PageLoad(const Url:string; Loader:TidHTTP):string;
begin
Loader:=TIdHTTP.Create(nil);
Result:=Loader.Get(Url);
FreeAndNil(Loader);
end;
Основный недостаток - если веб-сервер имеет невысокую скорость выдачи, то время закачки множества страниц увеличивается из-за загрузки страниц по очереди
Мне нужна одновременная загрузка до 10 страниц одновременно, чтобы по полной использовать трафик провайдера. Предварительно, функция будет иметь вид:function LoadPageDisp(Url:TStringList):TstringList;
begin
// тут конечно какой то цикл по запуску потоков или?
end;
где Url:TStringList - массив строк УРЛ, который функция получает от другой части программы. Выход функции - массив строк ХТМЛ-кода загруженных строниц
вроде бы есть два варианта запустить параллельную загрузку страниц - потоки и динамическое создание idHTTP
Внимание!!! Вопрос:
каким способом лучше организовать параллельную(одновременную) загрузка большого числа веб-страниц (не менее 10 одновременно)
← →
DVM © (2012-12-09 21:15) [1]
> Внимание!!! Вопрос:
> каким способом лучше организовать параллельную(одновременную)
> загрузка большого числа веб-страниц (не менее 10 одновременно)
в случае с Indy вариант у тебя один - использовать несколько потоков
← →
DVM © (2012-12-09 21:18) [2]
> function PageLoad(const Url:string; Loader:TidHTTP):string;
>
> begin
> Loader:=TIdHTTP.Create(nil);
> Result:=Loader.Get(Url);
> FreeAndNil(Loader);
> end;
A теперь представь, что запрашиваемый URL не существует, кто уничтожать Loader будет?
← →
Медвежонок Пятачок © (2012-12-09 21:34) [3]интересно, зачем передавать лоадер в параметре, если внутри он создается по новой. Причем ссылка на новый лоадер назад никогда не попадает
← →
Игорь Шевченко © (2012-12-09 22:05) [4]Медвежонок Пятачок © (09.12.12 21:34) [3]
Это потому что в "упрощенном виде"
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.08.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c