![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
![]()
Кругом только и написано: "Преимуществом Indy является многопоточность при блокирующих сокетах...", а на деле я столкнуся с реальной проблемой:
Мне надо выполнить IdHhtp.Get() в нескольких потоках. Че не находил - нихрена не понял. Народ, помогите конкретным примером...
ICQ: 5311314
[SIGPIC][/SIGPIC] |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Ты не так понял дивиз Indy под многопоточностью там понимается лишь "каждому коннекту свой поток" не более)
Для реализации "скачивания" конкретного файла в несколько потоков лучше использовать методы, отличные от Indy.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#3 | |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]() Цитата:
![]() http://www.google.com/search?client=...utf-8&oe=utf-8 |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
ну чтож, можно реализовать, кпримеру, так: узнаем размер удаленного файла:
Код:
Код:
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#5 | |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
у меня задача 1 файл в 1 поток.
т.е. все сводиться к Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
если один файл в один поток, то лучше не заморачиваться с разделением файла на байтовые последовательности а качать весь. Тогда в каждом потоке создаем Idhttp и GET-м забираем файл
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#7 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
Так и сделал. На некоторых сайтах возникает ошибка connection reset by peer и цикл с GET'ом останавливается. Пример такогих сайтов - offtopa.net, dragonfever.info.
Последний раз редактировалось Viteef; 05.02.2009 в 02:35. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Воспользуйся Request.KeepAlive в компоненте IdHttp должно помочь.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#9 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
а, если в цикле, то после каждого GET-а делай idhttp.Disconnect так будет правильней и , по идее, не должно возникать сброса сессии удаленным хостом
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
многопоточность в Delphi | xakkkkker | Свободное общение | 12 | 13.08.2010 18:52 |
как обновить indy 9 на indy 10 | Пилигрим | Компоненты Delphi | 16 | 30.04.2010 10:11 |
Indy 9 против Indy 10 | OrdJONY | Свободное общение | 2 | 08.11.2008 20:28 |
многопоточность в сетевых приложениях | AlexandrY | Работа с сетью в Delphi | 9 | 13.07.2008 02:43 |
IRC в Indy | Zer0 | Работа с сетью в Delphi | 2 | 12.02.2008 09:57 |