2012-02-16 2 views
3

im тестирует новую технологию wifi direct и im, имея некоторые проблемы, используя виртуальную демонстрацию wifi из образцов, которые поставляются с android-sdk.Android Direct Direct Demo Issues

Итак, у меня есть два устройства A и B, оба с Android 4.0.3.

Во-первых, с устройства A, я отправляю файл в B. Ничего плохого здесь, B получает файл.

Тогда A отсоединяется от B.

Теперь из устройства BI попытаться отправить файл A.

Но устройство, которое получает файл B вместо А.

Для исправить, мне нужно отключить и на обоих устройствах ...

Кроме того, иногда, когда я нажимаю отключиться и попытаться подключиться снова, не удается установить соединение, и я должен отключить и включить Wi-Fi прямой ...

Кто-нибудь еще испытывает это?

Это потому, что новая технология еще не зрелая или, может быть, что-то не так с моей сборкой/драйвером/etc или, возможно, этот демонстрационный файл не поддерживает обмен двухсторонней связью. Любые идеи и/или объяснения будут оценены.

ответ

1

В последнее время я борюсь с той же проблемой. Я полагаю, это проблема ОС. Чтобы дать вам краткую информацию, я установил приложение Wi-Fi Direct на оба устройства с разными версиями ОС, одно с OS 4.0.1 и одно с OS 4.0.2. Время от времени соединение прерывается, когда я отсоединяю и снова подключаю устройства. Это происходит при поиске устройств. Но дело в том, что это происходит только на устройстве с ОС 4.0.2. Другое устройство не вылетает и не отключается.

При поиске этой проблемы я нашел ссылки ниже. Люди обсуждали это, и у них есть одна и та же идея. По-видимому, это проблема ОС 4.0.2. Я не уверен, что это то же самое для ОС 4.0.3, но нет никаких проблем с предыдущей версией OS 4.0.1.

Вот ссылки:

http://code.google.com/p/android/issues/detail?id=24402

http://osdir.com/ml/android-platform/2012-01/msg00226.html

+0

Im использует 4.0.3 на обоих устройствах (Xperia mini). Поиск на устройствах работает нормально. Повторное соединение всегда терпит неудачу, мне нужно отключить/активировать wifi-direct каждый раз, когда я хочу снова подключиться ... – ImNotAnUser

+0

Я вижу. Я еще не обновил свою ОС, и я надеялся, что у меня не будет этих проблем с новой версией. Но, похоже, эта проблема будет продолжаться до тех пор, пока Google не представит новые функции для Wi-Fi Direct. – misterbaykal

+2

Похоже на проблему стека, также я заметил, что IP-адрес, присвоенный владельцу группы, жестко закодирован в ICS («192.168.49.1»). Проверьте эти ссылки: [link] (http://groups.google.com/group/android-platform/browse_thread/thread/e46707883c248aed/4f09d509947b284b?hl=pt-BR&lnk=gst&q=wifi+direct+android#4f09d509947b284b) [ссылка ] (http://groups.google.com/group/android-platform/browse_thread/thread/9084aad2db6a33e2/6b432b449d20485f?hl=pt-BR&lnk=gst&q=wifi+direct+android#6b432b449d20485f). – ImNotAnUser

5

Когда обеспечивая WifiP2pConfig экземпляр функции connect(), вы можете установить groupOwnerIntent свойство этого объекта конфигурации следующим образом:

WifiP2pConfig config = new WifiP2pConfig(); 
config.deviceAddress = "...";     // insert ip here 
config.groupOwnerIntent = 0; 
config.wps.setup = WpsInfo.PBC; 
manager.connect(..., config, ...); 

От android reference:

Это (groupOwnerIntent) представляет собой целое значение в диапазоне от 0 до 15, где 0 означает малейшего желания быть владельцем группы и 15 указывает, самую высокую склонность быть владельцем группы.

Кроме того, демо, вероятно, неоднократно посылает файл на том же устройстве, потому что там всегда сокет к IP-адрес, полученный от:

WifiP2pInfo.groupOwnerAddress 

Если вы хотели бы поддержать двунаправленную связь , первым шагом в настройке этого будет отправка IP-адреса владельца негруппы владельцу группы.

Что касается проблемы разъединения/повторного подключения, у меня, похоже, есть те же несоответствия с устройствами Android 4.0.2.

+0

Проблема в том, что IP-адрес GO всегда был одинаковым. Его ip-адрес мягкого AP не самого устройства ip, и похоже, что он жестко закодирован на ICS ... Пожалуйста, поправьте меня, если я ошибаюсь. – ImNotAnUser

2

Я пытался какое-то время передавать файлы между двумя устройствами, используя wifi direct. Я использую Android SDK WifiDirectDemo в качестве базы. Мой опыт:

Адрес GO всегда один и тот же (по крайней мере, в Samsung Nexus), но это не проблема, потому что вы можете использовать это, чтобы узнать, кто является сервером (или клиентом).

Еще одна странная вещь: MAC-адрес устройств был другим, когда вы получили его от Android WifiManager, и когда вы читаете его из файла «/ proc/net/arp».

В конце я это сделал, и вы можете увидеть код here.

Надеюсь, это поможет!

+0

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

+0

Оба Nexus использовали Android 4.1.1 – ahmontero