У меня вопрос с общей реализацией дизайна. Надеюсь, что кто-нибудь более искусный, чем я, помогает мне.Как загрузить файл с сервера
Я хочу сделать приложение на основе android-клиента и java-сервера. Локальная передача Wi-Fi, 3G.
В принципе, клиент должен подключиться к серверу и запросить загрузку файла с использованием кода.
Как я могу это сделать?
Вещи, которые я знаю:
- Я должен создать фоновый поток в клиенте, чтобы создать файл в SD-карты и обновлять индикатор с помощью обработчика для связи с потоком пользовательского интерфейса.
- Сервер должен быть многопоточным и неблокирующим.
- Файл представляет собой двоичный файл, такой как mp3-аудио. Таким образом, сервер должен:
- Отправить информацию о файле: имя и общая длина.
- Откройте файл, прочитайте и отправьте байты, пока он не достигнет конца.
- Клиент должен:
- Получить информацию о файле и создать пустой файл.
- Прочитайте байты и выгрузите их в пустой файл. Обновить индикатор выполнения.
- Когда все байты получены, закройте файл.
У меня есть знания реализации клиента и сервера в C (очень ужасно), но я начинаю с реальным приложением клиент-сервер сделано в Java.
Вопросы:
- Как я могу загрузить двоичный файл, как в формате mp3 с сервера к клиенту?
- Где я должен разместить свое серверное приложение? Я полагаю, что я должен создать банку, сохранить ее в папке и выполнить ее при запуске ПК, не так ли?
Спасибо!