Возможна ли нативная P2P-сеть C++ WiFi на устройствах Android?

Мой текущий проект Android требует возможности настроить «локальную» сеть p2p на соседних устройствах с использованием некоторого варианта WiFi (например, WiFi, WiFi Direct, WiFi Aware и т. Д.).

Попробовав Android API (и не найдя никаких устройств, поддерживающих Aware), мне не удалось создать надежное приложение, которое может автоматически обнаруживать соседние устройства и устанавливать пригодную для использования сеть p2p.

Подходы, которые я пробовал, включают «Создание одноранговых соединений с помощью Wi-Fi Direct», «Беспроводное подключение устройств» и «Подключения поблизости».

Ни один из этих подходов (или любая их комбинация) не обеспечивает надежного воспроизводимого метода автоматического создания сети p2p.

Я не считаю это сложным проблемным пространством и не понимаю, почему кажется невозможным установить надежную p2p-сеть между соседними устройствами.

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

Поскольку у меня нет опыта работы с Android NDK, это решение оказалось сложным.

Я не могу найти ни одного примера(ов)/учебника(ов) Android C++ WiFi и т.д.

Можно ли использовать С++ на Android для приложений WiFi?

Должен ли я использовать высокоуровневый Android WiFi API?


person Hector    schedule 08.08.2019    source источник


Ответы (1)


Нет, через NDK нет быстрого доступа к функциям Wi-Fi вашего устройства, если вы не можете получить root-права. Основная проблема не исчезнет даже тогда, она будет только хуже. Реализации Wi-Fi на C++ еще менее стандартизированы для разных устройств и версий платформы, чем различные варианты, поддерживаемые поставщиками, о которых вы говорите.

person Alex Cohn    schedule 08.08.2019