<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: Downloader]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6307</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6307&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: Downloader».]]></description>
		<lastBuildDate>Tue, 11 Oct 2011 06:22:56 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52365#p52365</link>
			<description><![CDATA[<p><img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Позооор. Однозначно позооор таким сервакам. )</p><p>В дополнение к примеру напоминаю про запылившуюся тему. )<br /><a href="http://forum.script-coding.com/viewtopic.php?id=5298">Скрипт многопоточной докачки файлов</a></p><p>Если будут вопросы - буду рад ответить как тут, так и по асе.</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 11 Oct 2011 06:22:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52365#p52365</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52364#p52364</link>
			<description><![CDATA[<p>Дык позор и стрём тем сервакам которые не поддерживают дозакачку !<br />Как-нить появится времечко - попробую чонть на эту тему начать... (интересно мне просто...)</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Tue, 11 Oct 2011 06:12:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52364#p52364</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52363#p52363</link>
			<description><![CDATA[<div class="quotebox"><cite>Евген пишет:</cite><blockquote><p>А вот такой заголовок Range , не поможет ?</p></blockquote></div><p>Как раз об этом я и написал <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="quotebox"><blockquote><p>Но такой вариант проходит только с серваками, поддерживающими обработку запроса 206. В ином случае - качать блочно не получится. Т.е скрипт будет висеть и ждать полной загрузки.</p></blockquote></div><p>Теперь объясню подробнее. </p><p>В идеальном случае общение качалки с сервером проходит по принципу (очень урезал для упрощения)</p><p><strong>Этап 1: Просто скачка</strong><br /></p><div class="codebox"><pre><code>Качалка: GET имя_файла
Сервер: 200 OK + поток содержимого</code></pre></div><p>и пошло поехало - качалка тащит весь поток к себе. В случае с XmlHttp и ServerXmlHttp - мы не получим возврата к выполнению кода до тех пор, пока сам объект не загрузит всё тело. (Флаг асинхронности тут совершенно ничего не даст.)</p><p>В случае WinHttpRequest - в событии DataArriaval мы получим блоки, которые потихоньку возвращаются с сервака.</p><p>Но вот допустим оборвалась скачка. А мы пол файла уже выкачали. <img src="//forum.script-coding.com/img/smilies/yikes.png" width="15" height="15" /> Обидно до невозможности. В этом случае УМНАЯ качалка начинает этап 2.<br /><strong>Этап 2: докачка</strong><br /></p><div class="codebox"><pre><code>Качалка: запрашивает Range a-b</code></pre></div><p>Т.е просит - дай мне блок с a(допустим с десятого) байта и длиной b (допустим 100 байт)<br />И теперь качалка ждёт ответа. Но дальше есть 2 варианта. Если сервер докачку держит, то он ответит статусом 206 Partial Content и блоком данных. А если нет, то он гад эдакий ответит так же как в этапе 1 (200 OK) и всем телом файла. И тогда бедной качалке придётся удалить, всё что она накачала и начать скачку заново. )</p><p>Именно поэтому Range нам и не поможет. )</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Tue, 11 Oct 2011 05:15:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52363#p52363</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52362#p52362</link>
			<description><![CDATA[<p>А можно вопрос не в тему. А зачем вам свой собственный Downloader?</p>]]></description>
			<author><![CDATA[null@example.com (DnsIs)]]></author>
			<pubDate>Tue, 11 Oct 2011 05:05:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52362#p52362</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52361#p52361</link>
			<description><![CDATA[<p>А вот такой заголовок Range , не поможет ?<br /><a href="http://zamboch.blogspot.com/2007/10/get-single-byte-from-big-binary-file.html">вот примерчик</a><br />ИМХО это то - что нужно, или я ошибаюсь ?<br />Создать несколько потоков, каждый закачивает свой Range в байтах, складываем их в один файл, в соответствии с указанным Range. <br />Не ?</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Tue, 11 Oct 2011 03:27:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52361#p52361</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52360#p52360</link>
			<description><![CDATA[<p>Ну вот и голову ломать дальше не надо. Перспективы разработки понятны...</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Tue, 11 Oct 2011 02:04:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52360#p52360</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52357#p52357</link>
			<description><![CDATA[<p>Пробовал такой вариант. Но стандартные компоненты для этих целей не особо подойдут. XmlHttp и ServerXmlHttp не дают управлять потоком до полной загрузки. WinHttpRequest имеет событие OnDataArrival с ссылкой на блок данных, но эти события не подключаются в скриптах. На XP просто крэш WSH вызывает, в WSC вообще событие не происходит. </p><p>Оставшийся вариант качалки я делал через получение Partial Content. Т.е через XmlHttp запрашивал блок, его получал, записывал. Но такой вариант проходит только с серваками, поддерживающими обработку запроса 206. В ином случае - качать блочно не получится. Т.е скрипт будет висеть и ждать полной загрузки.</p><p>Надеюсь более менее понятно объяснил. ) Если что - готов подробнее.</p><p>Единственную альтернативу, которую вижу - это Winsock. Но это такой гемор будет. Что лучше вообще забыть о таких извратах. ))</p><p>Либо создать свой Activex (можно даже оболочкой на WinHttpRequest), то всё довольно просто. )</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Mon, 10 Oct 2011 19:18:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52357#p52357</guid>
		</item>
		<item>
			<title><![CDATA[HTA: Downloader]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52351#p52351</link>
			<description><![CDATA[<p>Коллеги, приветствую !<br />Давненько вынашиваю мысль создания собственного downloader&#039;a, многопоточного, типа FlashGet.<br />Кто поможет в голове накидать прозрачный алгоритм работы ?<br />Если примерчик есть примерчик или поможете с организацией потока с помощью Request.Headers (для продолжения закачки с последнего места) - заранее респект !</p>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Mon, 10 Oct 2011 14:22:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52351#p52351</guid>
		</item>
	</channel>
</rss>
