2012-06-28 16 views
21

Jak tutaj: Automatic authentication for Android WiFi Direct Chcę stworzyć mobilną sieć ad-hoc Wi-Fi z urządzeniami z systemem Android. Ale w przeciwieństwie do powyższego linku chcę używać oficjalnego interfejsu API Android WiFi Direct, który jest dostępny od wersji Androida 4.0.Wi-Fi Direct (Android 4.0) z wieloma (3+) urządzeniami

Więc czy istnieje sposób nie tylko połączenia 2 urządzeń za pośrednictwem WiFi Direct, ale także trzech lub więcej? Więc wiadomości mogą być przekazywane z jednego urządzenia do drugiego za pomocą kilku innych urządzeń pomiędzy (dlatego obejmujących większy dystans między nadawcą a odbiorcą)?

Urządzenie Wifi Direct demo służy tylko do parowania dwóch urządzeń i nie mogłem znaleźć innego sposobu.

Dzięki!

+0

Calvin pod linkiem, użył do tego interfejsu API Androida. –

Odpowiedz

26

Is there a way to not only connect 2 devices via WiFi Direct but also three or more?

Tak, specyfikacje Wi-Fi Direct wyjaśniają, że możliwe jest utworzenie połączenia od 1 do wielu. Jedno z urządzeń będzie działać jako właściciel grupy (traktuj to jako punkt dostępu). Podczas niektórych testów udało mi się utworzyć sieć Wi-Fi Direct z 3 urządzeniami.

Ponieważ wszystkie urządzenia muszą znajdować się w zasięgu właściciela grupy, masz pewność, że wiadomość dotrze do drugiego klienta. 1. klient -> właściciel grupy -> drugi klient

+2

Fabien, czy mógłbyś wyjaśnić, jak to zrobiłeś? Udało mi się połączyć 2 osoby równorzędne z aplikacją, nad którą pracuję, ale żaden z przewodników dla programistów w Internecie nie wyjaśnia, w jaki sposób mogę połączyć dodatkowe urządzenie równorzędne. – Chucky

+2

Cześć Chucky, biorąc pod uwagę 2 urządzenia są podłączone, jednym z nich jest Właściciel grupy (GO). Na trzecim urządzeniu powinieneś wykonać "requestPeers". Gdy lista peerów jest dostępna, możesz wysłać żądanie "połącz" do jednego z urządzeń. Jeśli się nie powiedzie, należy zidentyfikować urządzenie GO i wysłać żądanie połączenia do tego konkretnego urządzenia. –

+0

Fabien, zrobiłem to, co zasugerowałeś, ale nie udało się połączyć z właścicielem grupy, podając mi ten błąd: nie udało się połączyć z /192.168.49.1 (port 8988) po 5000ms: isConnected nie powiodło się: ECONNREFUSED (odmowa połączenia), nie masz pojęcie, jak mogę to rozwiązać? –

5

Tak, nie ma ograniczeń jako takich. Eksperymentowaliśmy z 5-6 urządzeniami - poza tym w tej chwili nie będzie to działać bardzo dobrze.

Oto film z gobelinu na Jellybean - http://www.youtube.com/watch?v=6emgRvH4mTo&list=UUQmz9albYeqArJvmpmaQpGQ&index=1&feature=plcp

+0

Irfan, chcę też podłączyć wiele urządzeń tworząc grupy. Skończyłem z prostym przesyłaniem jeden do jednego. Czy możesz wskazać mi, jak tworzyć grupy w trybie wifi-direct? Byłaby to wielka pomoc. –

0

Można to zrobić przy użyciu Java NIO (bez blokowania IO) Istnieje również opcja w Wi-Fi Direct, aby utworzyć grupę, używając tej grupy, grupa własna wola może być używany jako serwer i może wysyłać wiadomości. Korzystanie z wielu klientów i serwera, wszystkie urządzenia mogą komunikować się ze sobą za pomocą grupy.

Powiązane problemy