Обмен данными между двумя устройствами Android через точку доступа

I want to exchange data over hotspot between two android devices. I've tried to properly connection.

1-й. Я создал переносную точку доступа:

Network SSID - my_hotspot
Security - WPA PSK
Password - password

2-й. Пытаюсь подключиться при запуске приложения. Вот мой код

    mWifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

    WifiConfiguration conf = new WifiConfiguration();
    conf.SSID = "\"" + networkSSID + "\"";   
    conf.wepKeys[0] = "\"" + networkPass + "\""; 
    conf.wepTxKeyIndex = 0;
    conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 
    conf.preSharedKey = "\""+ networkPass +"\"";
    conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    int res = mWifiManager.addNetwork(conf);
    boolean b = setWifiApEnabled(null, true);

Я предполагаю, что это было неудачно. Затем я пытаюсь отправить данные через сокет. Я узнал от JavaCodeGeeks. Я настроил SERVER_IP 192.168.49.1, SERVER_PORT: 8888.

Как правильно общаться между двумя Android-устройствами с помощью точки доступа?

Заранее спасибо.


person Bob    schedule 21.02.2014    source источник


Ответы (1)


Почему вы не используете Wi-Fi Direct? Это протокол p2p. Вы можете обмениваться данными между двумя устройствами Android без точки доступа. Он использует пакет android.net.wifi.p2p.

Одноранговая сеть Wi-Fi (P2P) позволяет устройствам Android 4.0 (уровень API 14) или более поздней версии с соответствующим оборудованием напрямую подключаться друг к другу через Wi-Fi без промежуточной точки доступа (платформа Android Wi-Fi P2P соответствует требованиям программа сертификации Wi-Fi Direct ™ от Wi-Fi Alliance). Используя эти API-интерфейсы, вы можете обнаруживать и подключаться к другим устройствам, когда каждое устройство поддерживает Wi-Fi P2P, а затем обмениваться данными по быстрому соединению на расстояниях, намного больших, чем соединение Bluetooth. Это полезно для приложений, которые обмениваются данными между пользователями, таких как многопользовательская игра или приложение для обмена фотографиями.

Вы можете найти дополнительную информацию об этой технологии на сайте разработчиков Android. Вот несколько полезных ссылок:

Android Wi-Fi p2p

пакет android.net.wifi.p2p

Создание приложения

person misterbaykal    schedule 26.02.2014
comment
В настоящее время я использую Wi-Fi Direct, но он не работает стабильно. - person Bob; 27.02.2014
comment
В точке доступа можно подключить несколько устройств и отправлять данные, что невозможно в P2P. Есть ли способ отправить данные в точку доступа? - person arvindwill; 01.08.2016
comment
@misterandroid Прежде всего, спасибо за ответ! Пожалуйста, поправьте меня, если я ошибаюсь: Wi-Fi Direct отключит мое соединение с сотовой сетью GSM на устройстве владельца группы p2p, верно? Если бы устройство было точкой доступа, то оно все равно могло бы использовать соединение GSM при связи с другими устройствами, которые к нему подключены (через точку доступа)? Мне нужен доступ к сети GSM на устройстве .... - person sjkm; 01.12.2016
comment
@sjkm AFAIK Wi-Fi Direct не блокирует сеть GSM, поскольку работает как своего рода локальная сеть, не путать с точкой доступа. Преимущество Wi-Fi Direct в том, что вы можете использовать его без подключения к Интернету. Попробуйте поработать, пока ваш телефон находится в режиме полета. Вы увидите, что он все еще работает. - person misterbaykal; 02.12.2016
comment
Поправьте меня, если я ошибаюсь. В Wi-Fi Direct оба устройства должны быть в одной сети Wi-Fi? Как работает приложение shareit: отправитель открывает Wi-Fi, а получатель создает точку доступа, и оба устройства могут передавать данные между собой. Кто угодно может рассказать, как работает shareit. Спасибо - person Sumit Kumar; 06.07.2020