Hola, e estado intentando hacer un cliente servidor en android, primero hice un cliente serviror en java y funciono, y despues intente hacer el cliente en android para que se conectara al servidor de java, pero siempre me da el error de la excepcion IOexcepction...
El codigo del servidor en java seria:
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException
{
ServerSocket server=new ServerSocket(8000);
System.out.println("Comienzo del servidor!");
Socket client=server.accept();
DataInputStream in=new DataInputStream(client.getInputStream());//Datos que me manda el cliente
System.out.println("El cliente manda: "+ in.readUTF());//Lee el stream y lo transforma en UTF
}
}
y el codigo del cliente en android seria:
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Socket2Activity extends Activity {
public String Ip="10.0.2.15";
public int Port=8000;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText c = (EditText)findViewById(R.id.editText1);
Button boton1=(Button) findViewById(R.id.button1);
boton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Socket client=new Socket("localhost",8000);
DataOutputStream out=new DataOutputStream(client.getOutputStream()); //Escribimos al servidor
out.writeUTF("Hola servidor");
Log.i("conectado","conexion realizada con exito");
} catch (UnknownHostException e) {
c.setText("No entra 1");
e.printStackTrace();
} catch (IOException e) {
c.setText("No entra por excepcion");
e.printStackTrace();
}
}
});
}
}
siempre me salta la excepcion "No entra por excepcion", googleando encontre que debias de poner en el manifiesto los permisos:
<uses-permission android:name="android.permission.ACCESS_NETWORK_ST ATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE "/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTI CAST_STATE"/>
pero no arreglo nada... le estoy dando demasiadas vueltas y no lo consigo, por favor alguna ayuda? gracias!