Mayor1, не, слишком сложно ) Да и не передаю я частями - только целый файл. Мне проще проверить, что он уже отсылался
тогда гипотетически, в случае обрыва связи, клиенту в первую очередь следует передать серверу, версию блока данные для закачки, далее:
1 в случае когда новой версии данные нет, об этом сообщается клиенту и он передает точку останова
2 в случае когда скачиваемая версия удалена сервером, клиент должен удалить оставшуюся часть и начать закачку поновой
3 если есть более новая версия, то тебе прежде всего следует решить, кто будет принимать решение о докачке клиент или сервер ...
как другой вариант в случае таймстемпа, сервер допустим обязан хранить все недокаченные блоки в течении определенного интервала времени:
тогда клиент попросту по сверке времени определяет есть ли блок на сервере, после чего запрашивает докачку или иницирует запрос нового блока
тебе главное не забить сервер блоками отвалившихся навсегда клиентов и в случае докачки уникальным образом идентифицировать блок передаваемой информации