Была необходимость в такой же задаче, покопав рассылку, нашел что решается это с помощью перлового модуля на nginx, который смотрит какой байт передан клиенту и если последний - закрывать закачку.
Но ввиду незнания перла и отсутствия времени пришлось эту задачу отложить :( Если найдете решение - прошу поделиться, в свою очередь готов помочь в реализации.
> On Sunday 11 November 2007 11:15:07 Alexey Karagodov wrote:
>> посмотрите, как это делает например webalizer (считает сколько и чего >> скачанно с сервера)
> Да, я примерно знаю как он работает - парсит логи, считает сколько скачали с > каждого ипа байт и
т.д.
> Я пока знаю такие варианты по подсчёту закачек: > 1) Брать из заголовков место, с которого начинается закачка, прибавлять > количество переданных байт и сравнивать с размером файла. > 2) Хранить связку ip-useragent для каждого файла (плохой вариант)
> 3) Парсить логи (очень плохой вариант) > 4) Генерировать ссылки (пока неприемлимо)