Actually i am developing tracking app and want to send Location updates between two Android phones so that both can track one another over the Map. My application must get real time updates from other android device for better tracking.
I Have searched couple of techniques but don’t know which one is best
Using Sockets: making one device as Server while other as Client
Possible Limitation:
- What if IP address of Server is changed (because WIFI don’t have a
static IP) - Cannot access if the IP address of server is private
- Only client can connect to Server and Server cannot connect to Client
Using Intermediate Server: create an intermediate server and make a communication via that server.
Possible Limitation:
- Slow because each Android device first send these updates to server
and then server push these updates to other android device
Please provide me your suggestion about which one is the best way to do this.
Since you didn’t state the Device API level you want to support I’ll provide you with an option for Android v4 (API level 14) devices. It’s called Wi-Fi Direct and allows p2p connections between phones. It’s essentially your socket approach, but allows easy neighbour discovery and allows transfers in both directions.