2012-06-28 18 views
21

Come qui: Automatic authentication for Android WiFi Direct Desidero creare una rete WiFi mobile ad-hoc con dispositivi Android. Ma a differenza della domanda collegata sopra, voglio utilizzare l'API ufficiale Android WiFi Direct, disponibile da Android 4.0.WiFi Direct (Android 4.0) con più dispositivi (3+)

Quindi c'è un modo per collegare non solo 2 dispositivi tramite WiFi Direct ma anche tre o più? Quindi i messaggi possono essere passati da un dispositivo a un altro utilizzando diversi altri dispositivi in ​​mezzo (quindi si estende una distanza maggiore tra il mittente e il ricevitore)?

Il Wifi Direct demo funziona solo per l'associazione di due dispositivi e non sono riuscito a trovare un modo per fare altro.

Grazie!

+0

Calvin al link, ha usato le API Android per quello. –

risposta

26

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

Sì, le specifiche Wi-Fi Direct spiegano che è possibile creare una connessione da 1 a molti. Uno dei dispositivi agirà come proprietario di un gruppo (pensarlo come un punto di accesso). Sono stato in grado di creare una rete Wi-Fi Direct con 3 dispositivi durante alcuni test.

Dato che tutti i dispositivi devono essere compresi nell'intervallo del proprietario del gruppo, si è sicuri che il messaggio verrà inviato al secondo client. 1 ° cliente -> proprietario del gruppo -> 2 ° cliente

+2

Fabien, saresti in grado di spiegare come hai fatto questo? Ho collegato correttamente 2 peer per un'applicazione a cui sto lavorando ma nessuna delle guide per sviluppatori online sembra spiegare come procedere per il collegamento di un peer aggiuntivo. – Chucky

+2

Ciao Chucky, considerando che i 2 dispositivi sono collegati, uno di questi è un Proprietario di gruppo (GO). Sul tuo terzo dispositivo, dovresti fare un "requestPeers". Quando l'elenco dei peer è disponibile, è possibile inviare una richiesta di "connessione" a uno dei dispositivi. Se fallisce dovresti identificare il GO e inviare la richiesta di connessione a questo particolare dispositivo. –

+0

Fabien, ho fatto quello che mi hai suggerito, ma fallisce quando provo a connetterti al proprietario del gruppo dandomi questo errore: impossibile connettermi a /192.168.49.1 (porta 8988) dopo 5000 ms: isConnected fallito: ECONNREFUSED (Connessione rifiutata), do hai qualche idea di come posso risolvere questo? –

0

È possibile farlo utilizzando Java NIO (non Blocking IO) C'è anche un'opzione in WiFi Direct per creare gruppo, utilizzando tale gruppo, gruppo propria volontà essere usato come server e può trasmettere messaggi. Utilizzando più client e un server, tutti i dispositivi possono comunicare tra loro utilizzando il gruppo.

Problemi correlati