Подтвердить что ты не робот

Как приложение "SHAREit" андроида работает технически?

Я хочу создать приложение для совместного использования данных на android, используя wi-fi типа "SHAREit", но я не получил, с чего начинаю.

Итак, если кто-нибудь из меня понял техническую концепцию "SHAREit", это было очень эффективно понять.

  • Когда мы хотим отправить файл, мы увидели доступное приемное устройство с именем.
    • Отображается ли имя как SSID или другое?
    • Как мы передаем имя и другую информацию для отображения на устройстве-отправителе?
  • Когда я выбираю устройство для отправки файла, что происходит?
  • Что API, на самом деле я могу использовать и для чего, пожалуйста, просто объясните мне.

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

4b9b3361

Ответ 1

Используйте библиотеки Wi-Fi P2P для Android, а начните с документа на этой странице. В нем рассказывается, как использовать Wi-Fi P2P для обнаружения сервисов, который отвечает требованиям пункта 1 в ваших требованиях. В принципе, каждое устройство передает DNS-SD TXT, который может содержать информацию о идентификаторе пользователя и т.д. Устройства могут видеть его содержимое без необходимости устанавливать сокет, и это то, что вы позже сделаете, чтобы выполнить пункт 2 в ваших требованиях.

Ответ 2

Я попытался написать библиотеку под названием SHAREthem, чтобы имитировать, как SHAREit работает. Библиотека облегчает совместное использование файлов P2P и передачу между устройствами с помощью Точки доступа Wi-Fi. Он также поддерживает приложение для веб-обмена, если у получателя нет установленного приложения. Надеемся, что это поможет вам понять технические вопросы, связанные с совместным использованием файлов, используя точку доступа Wi-Fi.

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

  • HotspotController

    HC использует Java Reflection, так как на Android нет доступных API для включения/отключения горячих точек. Функциональные возможности включают:

    • Контроллер создает конфигурацию точек доступа OPEN Wifi с SSID, который может быть перехвачен приемниками для распознавания отправителей SHAREthem, включая имена портов и отправителей.

    • Восстанавливает пользовательскую Hotspot-Configuration, когда отключен режим Share.

    • Предоставляет список подключенных WiFi-клиентов.

  • Сервер SHAREthem

    Крошечный HTTP-сервер, расширенный от NanoHttpd, обслуживает данные отправителя получателям, использующим IP-адрес в качестве имени хоста, и работает по умолчанию, назначенным пользователем или системой.

  • Служба SHAREthem

    Служба Android, которая управляет жизненным циклом SHAREthem-сервера, а также обрабатывает уведомление переднего плана с действием остановки.

  • Пользовательский интерфейс (действия)

    Действия Android для действий с share/receive

    • Receiver - предоставляет пользовательский интерфейс для отображения файлов, доступных для загрузки. Сообщений запрос загрузки в Android Download Manager для запуска файла загрузки.

    • Отправитель - отображает информацию о IP-адресе, порте и подключенных клиентах вместе с файлом статус передачи для каждого подключенного клиента (приемника).

    Фрагмент фрагмента получателя, отображающий все загрузки от отправителя Share Activity, отображающий информацию о клиентах и ​​состояние передачи Веб-приемник