2016-03-23 3 views
2

Я хочу создать приложение для обмена файлами, такое как shareit, но я действительно смущен тем, как shareit обнаруживает соседние устройства.Как shareit обнаруживает соседние устройства android программно

Когда вы нажимаете кнопку приема, shareit создает точку доступа на стороне приемника, и отправитель без подключения к точке доступа показывает имя приемника. Как это возможно?

Если shareit использует Wi-Fi direct, то в чем смысл создания точки доступа?

И использовать Network Service Discovery (НРД) как сервер и клиент должен быть на той же самой сети, так что я думаю, что ShareIt использует что-то еще

Если кто-нибудь может объяснить эту концепцию ShareIt это будет очень полезно.

ответ

2

я, наконец, нашел ответ! SHAREit использует WiFi SSID для идентификации близлежащих пользователей приложения. SSID Состоит из двух частей. BAHD-bXViYQ WHERE 'B' Подходит для ANDROID DEVICE и AHD для значка пользователя. вторая часть - имя пользователя, закодированное в Base64. В этом примере мое имя муба. Надеюсь, этот ответ поможет сэкономить время.

+0

@Mubark Ali Как другое устройство может сканировать созданную сеть? –

+0

Либо они используют общий порт, либо имеют собственный протокол обнаружения хоста. Кстати, это тривиально. – TheRealChx101

0

Вы смотрели на: Using Wi-Fi P2P for Service Discovery я не использовал его лично, но данное описание, оно может дать намек на то, что вы ищете ...

+0

ShareIt не использует Wi-Fi P2P, потому что концепция, которую я объяснил в моем вопросе, даже работает на Android 2.2 (Just Tested), но для Wi-Fi P2P требуется андроид 4.0 и выше. –

Смежные вопросы