Zoynels
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Проблемы не со склеенными запросами, по крайней мере они у меня и так отключены, а со сравнительно большими файлами. По крайней мере больше 100кб. Это чаще всего 3D слои. А мысль как с этим бороться у меня есть, но нужно менять в коде, а я сам в программировании не очень. Идея такая. Можно сделать как в HC, где два списка. То что уже загружено и то что грузится в данный момент. Так вот, как только файл загружается то он перемещается из текущей записи в закачанное, либо удаляется из истории, всё равно он либо уже передан в GUI, либо не нужен. так вот, перед добавлением в текущую очередь нужно лишь проверить качается ли уже по данному URLу файл или нет. Если не качается, то начать скачиваение, а если данный файл скачивается то также поместить в запись, но не начинать скачивание, а просто после окончания скачивания файла из инета передать данные по всем "ожидающим" соединениям. Но можно сделать и другим способом, по крайней мере если файл не со склеенного запроса. Просто после начала получения данных нужно передавать запросившей файл программе по небольшим частям. Таким образом показывая что файл скачивается. Или если это склеенный запрос, то самостоятельно сгенерировать HEAD и передать его запросившей программе без указывания размера файла, а потом запрашивается первый файл из запроса и после получения данных они постепенно передаются программе, а как только все файлы оказываются скачанными нужно сообщить что файл закачан полностью. Вот и всё. Т.е. основная проблема состоит в том, что данные передаются только после ПОЛНОГО скачивания файла, а надо передавать по мере их получения. Чтобы увидеть что у меня происходит нужно лишь как мне кажется поставить на скачивание файл побольше размером и тогда когда закончится время ожидания программа заново отправит запрос на скачивание. | Всего записей: 10 | Зарегистр. 10-01-2004 | Отправлено: 05:44 11-10-2010 | Исправлено: Zoynels, 06:00 11-10-2010 |
|