В настоящее время работает над API, который позволяет клиенту (Android / Kotlin) загружать видео с сервера. С традиционным HTTP URI это было бы довольно легкой задачей, я бы просто загрузил Менеджер, и проблема была решена. Тем не менее, я использую gRP C (c ++) для сервера.
В настоящее время у меня есть решение с потоками Kotlin, которое в основном берет однонаправленный поток с сервера и использует файловый блок хранить их в локальном файле . Однако, даже если он работает для основных частей, у него много угловых случаев, и поэтому я хочу использовать DownloadManager. Для получения дополнительной информации о том, что у меня есть в настоящее время, пожалуйста, проверьте: Обработка загрузки файлов с помощью gRP C на Android
Пройдя некоторое время в поисках решения, я обнаружил, что оно Можно сопоставить вызов RP C с REST API с помощью этого проекта и, в основном, сделать что-то вроде:
rpc Download(DownloadRequest) returns (DownloadResponse) {
option (google.api.http) = {
post: "/v1/download"
body: "*"
};
}
или использовать файл YAML для настройки API Google.
Все это кажется довольно удобным при использовании Google Cloud и Golang, но Я создаю автономный сервер на C ++ .
Так что здесь есть два вопроса :