Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android - Connectivity Questions

I have a couple of questions about connectivity on Android, if anyone has any insight it would be great.

1) What is the default when an application wants to wirelessly connect? Is it wlan? And if wlan is switched off or there is no access points around is it 3g or gprs?

2) Is a device always ip connected? Or when its disabled from wlan or 3g does it lose its ip address?

3) Is an application, for example the browser only ever connected to one ip address? Or can it be connected to multiple addresses for each radio such as gprs or wifi (wlan)?

4) Can an application decide which connection to open a socket to? For example can I create an application and decide whether to connect the socket to the wlan or gprs? Or does the OS decide?

5) Finally how do native applications handle connectivity? In the same manner?

like image 614
Donal Rafferty Avatar asked May 05 '10 14:05

Donal Rafferty


People also ask

What are the 3 major tasks that are most important in your current role in Android Developer?

Android Developer responsibilities include:Designing and developing advanced applications for the Android platform. Unit-testing code for robustness, including edge cases, usability, and general reliability. Bug fixing and improving application performance.


1 Answers

Similarly to any Linux machine, you have different devices for different network interfaces - e.g. on my device: eth0 for WLAN, rmnet0 for 3G/GPRS (It's impossible to be connected both via 3G and GPRS at the same time). The connected interface receives an IP address, and the kernel's routing tables update so that all packets will be routed through the connected device. Theoretically, you could have both interfaces connected, however, on all Android devices I've seen, only one network interface will be active at a time (excluding transition periods, when WiFi is being turned on or off, or when a lingering TCP connection is still active).

Usually, native applications don't concern themselves with connecting to the Internet - if there's any kind of connection, it will work; otherwise, the app will receive a connection timeout (or similar error).

like image 185
adamk Avatar answered Oct 02 '22 06:10

adamk