2013-08-25 20 views
9

Sono principalmente interessato a una risposta generale per dispositivi mobili, ma qualcosa di specifico per Android sarebbe accettabile.Comunicazione diretta tra due dispositivi mobili

Dato 2 dispositivi mobili, come posso ottenere una connessione tra di loro. Sono nuovo nello sviluppo di dispositivi mobili e non sono sicuro del tipo di dispositivi mobili NAT disponibili. È possibile eseguire una sorta di "perforazione" (utilizzando un server esterno per facilitare la connessione) per collegarli insieme?

Ho esaminato questa domanda, ma non mi ha aiutato troppo, non so ancora come ottenere un IP e/o attraversare un NAT. Android - communicating between two devices

risposta

4

Se si desidera utilizzare un modulo wireless generale, come GSM, UMTS, LTE, è necessario fornire hardware standalone con l'implementazione dei protocolli desiderati. Per il GSM è possibile cercare OpenBTS http://openbts.org/ che è un software gratuito.

Come altre possibilità di comunicazione, è possibile utilizzare il Wi-Fi Peer-to-Peer http://developer.android.com/guide/topics/connectivity/wifip2p.html per stabilire la connettività wifi.

Le capacità di comunicazione sono basate su specifiche di un chip, non tutte le connessioni wi-fi supportano questo tipo di connessione. D'altra parte puoi anche stabilire la connettività Bluetooth.

1

Vorrei che entrambi si connettessero a un server su Internet - forse un server web - forse si inizia con un'istanza Amazon EC2. Il telefono invia messaggi al server utilizzando una richiesta HTTP e il server invia messaggi ad un altro telefono utilizzando HTTP Push di una descrizione. Skype e il suo ha usato una tecnica chiamata UDP hole punching per comunicare peer-to-peer (anche se mediata attraverso un server centrale) anche se credo che dovessero fermarsi a causa dei requisiti di intercettazione legale (tosse NSA).