Android Wifi Direct — обмен файлами P2P на основе расстояния

У меня есть академический проект, где я должен сделать приложение для Android для реализации прямого обмена файлами P2P на основе Wi-Fi на расстоянии. В этом задействованы три устройства: одно — это устройство, запрашивающее файл (скажем, A), и два устройства имеют файл (скажем, B и C). Устройство A должно загрузиться с устройства B или C, в зависимости от того, какое из них находится ближе всего к нему (скажем, B ближе). Всякий раз, когда B удаляется от A, так что его расстояние от A больше, чем d (A, C), A должен подключиться к C и возобновить загрузку, где он был отключен от B. До сих пор я могу реализовать обмен файлами на основе расстояния часть (установив некоторые пороги расстояния). Но я понятия не имею, как реализовать возобновление загрузки.


person Avdhut Mankavale    schedule 18.11.2014    source источник


Ответы (1)


См. этот ответ: Реализовать паузу/возобновление загрузки файла

Он предназначен для загрузки с использованием HTTP, но вы можете использовать те же принципы и изменить его в соответствии со своим вариантом использования.

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

Возможно, вы захотите использовать RandomAccessFile, чтобы разрешить поиск между позициями байтов. во время ваших операций.

person JstnPwll    schedule 18.11.2014