Я перепроектирую приложение, которое унаследовал, которое отправляет цифровые фотографии с ноутбука на веб-сервер. Идея состоит в том, чтобы сфотографировать "на поле" и мгновенно опубликовать их на веб-странице (с некоторыми более привлекательными функциями).
Типичный сценарий
1. Фотографии переносятся с камеры на ноутбук с помощью стандартного USB.
2. Фотографии обрабатываются различными способами. (Не важно)
3. Каждая фотография отправляется небольшими частями (~ 64 кб каждая), используя веб-запрос на стандартный веб-сервер Apache, где он снова объединяется.
Проблема с текущим дизайном заключается в том, что он часто зависает, когда сетевое соединение ненадежно. Поскольку мы используем мобильную сеть (3G) и часто оказываемся вне зоны покрытия, мне нужен способ справиться с этим должным образом.
Мой вопрос заключается в том, есть ли лучшее решение для этого, которое не приведет к зависанию приложения, когда соединение время от времени падает.
(Бонусный вопрос заключается в том, как это можно было бы правильно протестировать, без необходимости совершать походы с ноутбуком.)
EDIT 2008-11-24: Теперь мне удалось создать подходящую тестовую среду для этого, используя комбинацию NetLimiter и TMnetsim (freeware). Я попытался установить 5 кб/с и сбросил 1% всех пакетов - мое приложение все еще хорошо работает с новым дизайном.
EDIT 2008-12-11: Просто обновить, как я это сделал. Я создал одного фонового работника (как предложено ниже), который запускается всякий раз, когда обнаружена камера для копирования фотографий с камеры на ПК. Затем другой фоновой рабочий я начал, когда файлы поступают на ПК для загрузки с использованием асинхронной передачи HTTP. Конечно, было боль, чтобы все исправить, тем более, что операция должна быть "отменена" в любое время... Но так или иначе, теперь это работает. Большой СПАСИБО всем, кто помог мне!