DownLoad, отслеживание прерывания закачки пользователем

MagicGTS

Новичок
По поводу захлёста: Я решил дать запас по скачиваему объему 10-15% от размера файла.
2BigHarry Мне не нужно отдавать другой файл! Мне нужно отдать другой кусок всё тогоже файла, да так чтобы клиент понял что это имено другой кусок того-же файла!
 

neko

tеam neko
какой бред...

Вот у меня случилась трабла. Скрипт\сервер\или ещё что нибудь привело к разрыву соеденения с моей стороны таким образом, что я не смог отследить что клиенту уже отослал а что ещё нет.
это клиенту надо следить, а не серверу
и умный клиент в некоторых ситуация оберзает последние n байт и перекачивает их снова

а все потому, что
мне необходимо давать пользователю возможность что-то скачать только 1 раз.
это зачем интересно такие дурные ограничения???
 

BigHarry

Guest
Originally posted by MagicGTS
Мне нужно отдать другой кусок всё тогоже файла, да так чтобы клиент понял что это имено другой кусок того-же файла!
Боюсь - это невозможно. Протоколом http такие извраты не предусмотрены. Т.е. отдать-то можно, вот только клиент не поймет, что это другой кусок - точнее - он даже понимать не будет - просто приклеет этот кусок к ранее выкачанному.
Как вариант - запретить докачку - что бы начинали все заново.
 

desperado

Новичок
По поводу захлёста: Я решил дать запас по скачиваему объему 10-15% от размера файла.
может и не хватить, смотря на чем седит клиент, но таких думаю будет не много.

опять же, как определить что клиент полностью скачал файл? а то получает не хорошо... клиент заплатил, а из-за проблем со связью не скачал.
 

neko

tеam neko
ой можно я тоже вариант предложу
запрети нафиг скачивание
так уж точно никто не скачает 2 раза!!!!
 

MagicGTS

Новичок
Заказчику не хочется чтобы клиентура гнала лишний трафик. Вся байда заведена ради того чтобы клиенты качали обновления. Каждое новое обновление содержит в себе и все предыдущие (это типа базы данных, для бухгалтеров и иже с ними). Клиенты не все на ты с компом, а потому счас умудряются по 10 раз перекачивать одно и тоже.
 

neko

tеam neko
обясняю как решать проблемы подобного сорта

1. обновляения платные небось? ну хотя бы то, что ты обновляешь платное? учесть расходы на поддержку сайта несудьба?

2. напиши памятку. если человеку нужно 2 раза скачать, не надо ему этого запрешать. если же это делается по незнанию, значит надо людей просвятить.
 

desperado

Новичок
э... может проще сделать клиент-сервер чтобы он коннектился, спрашивал последний апдейт и, если его старые, качал новый? при этом он не будет качать по сто раз.
 

neko

tеam neko
orthat

или вообще на дисках их высылать

кругом, блин, изобретатели...
 

MagicGTS

Новичок
2desperado Будет вестись отдельно список непрерывных кусков (без нахлестов, нахлесты будут отрезаться и складываться в отдельном месте :) ). Затем как только отметиться то что файл был принят клиентом непрерывно (типа все куски склеелись без азоров) файл скачался успешно. Параллельно если "обрезков" больше 15% клиенту не дают качать файл и просят обратиться к админу за разрешением (всё через веб интерфейс , почту и etc)
 

desperado

Новичок
оу... [а тут матерятся?]...
может тогда на почту высылать?

как собираешься определять непрерывность кусков? что-то пахнет это уже гнусно.
 

MagicGTS

Новичок
Ну народ! У заказчика такая прихоть. Хочет всё через веб. Правда там не просто обновления баз будут, там ещё описания всяческие и другая херня. Вобщем смысл в веб интерфейсе есть (особено мне, мнеж за разработку платят :) ). А обновления для клиентов бесплатны, хостинг принадлежит самой-же фирме, а клиенты платят абонентку за обслуживание вообще, а не за то что они качают.

-~{}~ 16.06.04 12:04:

2desperado Мне рендж прислали? Прислали. Мы его записали (если есть уже готовые ренджи, то мы пытаемся их объеденить) и как только остаётся один большой рендж размером со весь файл, значит файл скачался, уж до отого должон был сам допереть.
 

neko

tеam neko
У заказчика такая прихоть.
мнеж за разработку платят
за удовлетворение некоторых других прихотей платят по слухам тоже неплохо.

если всеже захочешь сделать по человеческий вариант desperado с клиентом-апдейтером очень даже хорош.
 

BigHarry

Guest
Это что - заказчик придумал такой гемморрой с кусками/нахлестами? Заказчику наверно просто не хочется лишнего трафика - пусть тады клиенты качают что угодно, только ограничить их по скорости - пару раз скачают одно и то-же - потом сами сообразят, что два часа качать то, что не нужно - накладно. Да и потом - если устаревшие обновления вовремя удалять - то никто лишний раз их не скачает...
 

MagicGTS

Новичок
Во первых, ограничить скорость нельзя, потомучто недовольные клинты запросто уйдут к конкуренту.
Во вторых, чем "круче" технология, и чем меньше у клиента проблем (а некоторым не нравиться блокировка мультисессии) тем больше мне платят.

Вот из этого и вытикают соответствующие гиморои....
 

BigHarry

Guest
Originally posted by neko
идиотия
Ё, а если канал слабенький - то как иначе-то?
Залезет к тебе с десяток клиентов - как начнут сосать - да есчо кучу сессий понаоткрывают с помощью шибко умных качалок - весь инет у тебя и просядет нах !!! Канечно, если ты имеешь супер-гигабитный канал - то эта проблема тебя волновать не будет, а если нет?
 

MagicGTS

Новичок
Читайте ответы выше! Я ж сказал, что механизмы блокировки\ограничения мултисессии будут реализованы!
По моему мой вопрос уже был исчерпан, и все мы уже достаточно много наговорили в пустую.
Предлагаю закрыть конкретную дискусию и заняться полезным делом.

Как раз счас наверно в поиске поищю вопрос об ограничение скорости для скачивания, это мне тоже пригодиться.

-~{}~ 16.06.04 12:31:

Так, ничего подходящего нет, значит буду изобретать (возможно и велосипед :) ). Если будут результаты запосчу тему, так как многие этого хотели добиться но толком ничего не смогли....
 

Bermuda

Новичок
Автор оригинала: desperado
разве? тогда как сервер отличает timeout и aborted?
Перевожу

timeout -- есть соединение, данные не передаются слишком долгое время
aborted -- нет соединения, соединение прервано
 
Сверху