Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как избавится от подвисания! WinInet Закачка 
V
    Опции темы
Desperate
Дата 29.12.2006, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: -1
Всего: -1



Приветствую Вас! Такая проблема, Когда качаю файл с помощью WinInet функций, происходит намертво зависание, пока файл не докачается, как от этого избавиться? И как можно прервать процесс закачки?

PM MAIL   Вверх
ilyalyu
Дата 29.12.2006, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.10.2006

Репутация: нет
Всего: нет



Использовать поток (TThread).

> И как можно прервать процесс закачки?

Поискать что-нибудь типа метода disconnect smile
PM MAIL   Вверх
Matematik
Дата 29.12.2006, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



см. 
InternetSetStatusCallback()
PM MAIL WWW ICQ   Вверх
Snowy
Дата 29.12.2006, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Либо использовать в асинхронном режиме, либо выносить в отдельный тред.
Второе, ИМХО, лучше.
PM MAIL   Вверх
Desperate
Дата 29.12.2006, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: -1
Всего: -1



Цитата

либо выносить в отдельный тред


Это как? Сорри, не очень понимаю!
PM MAIL   Вверх
Matematik
Дата 29.12.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Цитата(Desperate @ 29.12.2006,  21:39)
Цитата

либо выносить в отдельный тред


Это как? Сорри, не очень понимаю!

Многопоточность - как это делается в Дельфи. Не используйте потоки, не прочитав это

Это сообщение отредактировал(а) Matematik - 29.12.2006, 21:49
PM MAIL WWW ICQ   Вверх
Snowy
Дата 30.12.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Я тут как-то набросал компонентик.
Это пока черновик, но с http и https вроде работает.
Бросаешь на форму, назначаешь события, даёшь комманду вида
Код
  inet1.Get('http://forum.vingrad.ru/');
Когда закачается, выскочит событие OnCompliteDL.
Пока сыровато, но работает.
Позже доработаю пул, докачку и ftp.

Присоединённый файл ( Кол-во скачиваний: 49 )
Присоединённый файл  http.zip 3,29 Kb
PM MAIL   Вверх
Desperate
Дата 30.12.2006, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: -1
Всего: -1



А для WinInet работает?  А то у меня тут такое дело, ссылка на файл заканчивается так ...action=download&id=21254
если через функции Indy то не качается, ошибка, а если WinInet то свободно все качается! 
PM MAIL   Вверх
Snowy
Дата 30.12.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Desperate @  30.12.2006,  14:07 Найти цитируемый пост)
А для WinInet работает?
На нём и написано smile
PM MAIL   Вверх
Desperate
Дата 30.12.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: -1
Всего: -1



Да, это я внимания не обратил! smile
PM MAIL   Вверх
Mephisto
Дата 24.1.2007, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Snowy, у тебя есть утечка в компоненте.. smile
PM   Вверх
Snowy
Дата 24.1.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Mephisto @  24.1.2007,  11:40 Найти цитируемый пост)
Snowy, у тебя есть утечка в компоненте.. 
Возможно.
Это совсем альфа.
Довести его до полноценной версии просто руки не доходят.
Но я над этим работаю.
PM MAIL   Вверх
creas0ft
Дата 6.3.2007, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



А как бы Post к нему и прокси все же прикрутить?!
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
Snowy
Дата 6.3.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



POST - без проблем: http://forum.vingrad.ru/index.php?showtopi...t&p=1040527
А вот прокси я ещё не отработал.
У меня нет прокси - нужно ставить.
Всё руки не доходят...
PM MAIL   Вверх
MetalFan
Дата 20.11.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Цитата(Snowy @  29.12.2006,  21:00 Найти цитируемый пост)
Либо использовать в асинхронном режиме, либо выносить в отдельный тред.
Второе, ИМХО, лучше. 

простите за шевеление трупов, но почему второе лучше???


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Snowy
Дата 20.11.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Потому что надёжней и строго подчиняется логике программы.
А вообще на данную тему немало копий сломано.
Собственно причина та же, что и у асинхронных сокетов.
В частности в книге по Indy с особой любовью расписано, почему асинхронная работа отстой.
Да и во многих статьях по сокетам расписывают минусы микрософтовского асинхронного механизма.
У меня нет желания ворошить то, чего в инете и так вагонами написано.
PM MAIL   Вверх
Desperate
Дата 20.11.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 11.10.2006

Репутация: -1
Всего: -1



Да через Трэды нормал все! 
PM MAIL   Вверх
MetalFan
Дата 20.11.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Snowy, эх, хотябы пару ссылок... очень интересно  smile 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 20.11.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(Mephisto @  24.1.2007,  12:40 Найти цитируемый пост)
Snowy, у тебя есть утечка в компоненте.. smile 


Цитата(Snowy @  24.1.2007,  12:56 Найти цитируемый пост)
Возможно.
Это совсем альфа.
Довести его до полноценной версии просто руки не доходят.
Но я над этим работаю.


Snowy, я же тебе на эту тему писал... Счас уже и не вспомню что именно... Насколько помню - не было освобождения строк...




--------------------
user posted image
PM MAIL WWW Skype   Вверх
Snowy
Дата 21.11.2007, 03:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Ну, код открытый. Мог бы и поправить ;-)
У меня просто на всё рук не хватает. Точнее руки smile
PM MAIL   Вверх
aktuba
Дата 21.11.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(Snowy @  21.11.2007,  04:03 Найти цитируемый пост)
Ну, код открытый. Мог бы и поправить ;-)

Так я вроде даже писал тебе... Сейчас уже трудно вспомнить... Постараюсь на днях еще раз посмотреть что и где правил...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 3.12.2007, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Цитата(Snowy @  20.11.2007,  18:54 Найти цитируемый пост)
У меня нет желания ворошить то, чего в инете и так вагонами написано. 

и все таки хотелось бы аргументы...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 3.12.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(MetalFan @  3.12.2007,  21:06 Найти цитируемый пост)
и все таки хотелось бы аргументы... 

Такой аргумент подойдет: в треде все действия происходят в одном месте, а в асинхронном запросе в разных местах, т.е. запрос происходит в одной части кода, а обработка результата в другой. Эту уже само по себе минус (во всяком случае, для меня). В дополнение - каким способом проще сделать последовательные запросы? Т.е., когда последующий запрос зависит от результатов предыдущего. Имхо, в треде проще...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 3.12.2007, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



aktuba, в каких таких разных местах? )) в разных потоках всмысле?
ну это да...
лично для себя я считаю минусом асинх.режима в вининет то, что в итоге всеравно приходится в своем (собственноручно созданном) потоке данные читать...
так что в принципе согласен, что асинхронность функциям ВинИнета пользы не особо добавляет(


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0934 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.