2010-06-01 15 views
5

Sto facendo un progetto college su Bluetooth per Android e sto cercando di capire come gestire la comunicazione tra più dispositivi collegati. Alla fine svilupperò un gioco Bluetooth multiplayer.Adattamento della chat Bluetooth Android per più dispositivi

Attualmente ho adattato l'app di esempio di Android BluetoothChat per collegare i miei tre telefoni Nexxus One. 1 si connette a 2 che si connette a 3 1 invia correttamente i suoi messaggi a 2. 3 invia i suoi messaggi correttamente a 2 pure. 2 può inviare i suoi messaggi correttamente a 1 e 3, in quanto condivide un ConnectedThread con entrambi. Ma non riesco a capire come gestire la comunicazione da 1 a 3.

Qualcuno ha qualche esempio di comunicazione tra più dispositivi o ha fatto questo da soli? Grazie

risposta

4

Un modo è quello di annotare i tuoi messaggi con il mittente e il destinatario, in modo che quando 2 riceve il messaggio, sa di consegnarlo a 3. Quando 3 riceve un messaggio, controlla l'attributo del ricevitore per sapere che è dal dispositivo 1. Questo livello aggiuntivo ti consente di inviare e ricevere messaggi attraverso altri dispositivi e di sapere ancora da chi proviene.

In primo luogo, tuttavia, è necessario capire come rendere noto ogni dispositivo su ogni altro dispositivo sulla rete. Se ti stai solo collegando in una linea, come 1-2-3-4, allora ogni volta che un dispositivo entra nella rete, potresti inviare un elenco aggiornato attraverso la rete, ma cosa succede se 2 esce? Hai appena lasciato il gioco? Aspetta che venga nuovamente associato? In questo caso, potrebbe essere meglio guardare una rete peer-to-peer o la tipica architettura del server client in cui si lascia che un dispositivo sia l'host, specialmente se questo è inteso per essere successivamente un gioco multiplayer.
Spero che questo aiuti!

+0

Che risposta meravigliosa! – HXCaine

0

È possibile utilizzare contemporaneamente più socket Bluetooth in modo da poter configurare la funzionalità come server, come un server IRC o XMPP, che interroga tutte le comunicazioni da qualsiasi client a un altro.

Se si sta verificando la tolleranza di errore (ad esempio, la presa del server si interrompe), al momento della connessione al server, potrebbe fornire un elenco di dispositivi Bluetooth visti di recente che è possibile sospendere nel caso in cui il il server va giù.

Problemi correlati