with socket sending receiving receive ejemplo data and java android sockets network-programming

java - sending - socket en android ejemplo



Conexión de Android con HTTP (2)

En lo que respecta a la configuración, la única opción que debe tener para acceder a Internet desde su aplicación es el permiso de INTERNET, habilitado al agregar la siguiente línea fuera de las etiquetas de la aplicación en su Manifiesto de la aplicación.

<uses-permission android:name="android.permission.INTERNET" />

Entonces el manifiesto seguiría esta construcción general

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.apis"> <uses-permission android:name="android.permission.INTERNET" /> <application android:name="MyApplication" android:label="@string/application_title" android:icon="@drawable/my_icon"> [ .. Your Activities go here ] </application> </manifest>

¿Alguien puede decirme por qué esto no funciona en el emulador de Android? Desde el navegador tengo acceso y el servidor es interno. Todo lo que puedo pensar es que me falta algo de configuración en mi aplicación para que pueda acceder a la capa de red.

try { InetAddress server = Inet4Address.getByName("thehost"); //Doesn''t work either //or InetAddress server2 = Inet4Address.getByAddress(new String("192.168.1.30").getBytes()); if(server.isReachable(5000)){ Log.d(TAG, "Ping!"); } Socket clientsocket = new Socket(server, 8080); } catch (UnknownHostException e) { Log.e(TAG, "Server Not Found"); } catch (IOException e) { Log.e(TAG, "Couldn''t open socket"); }

Lanza una excepción UnknownHostException

Gracias


Puede que todavía no funcione, debido al tiempo de espera. Ya que necesita permisos de raíz para enviar un paquete ICMP y la implementación de isReachable utilizará la versión TCP lenta de ECHO. Chekcout the javaDoc.