Hola a todos, tengo un problema con un clliente TCP que estoy intentando implementar, la cosa es que tengo un thread que esta todo el rato leyendo de un buffer de entrada creado por un socket y esta información que lee la quiero mostrar en la interfaz de la aplicación la cosa es que los mensajes llegan pero no los muestra en la interfaz, el código es el siguiente:
Código:
protected void miHilo()
{
Thread t = new Thread()
{
public void run()
{
try
{
mySocket = new Socket("192.168.1.35", 12345);
p = new PrintStream(mySocket.getOutputStream());
p.println("Estado: Conectado");
}
catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Acceeso a la UI de android
handler.post(new Runnable()
{
@override
public void run()
{
try
{
b = new BufferedReader(new InputStreamReader(mySocket.getInputStream()));
String mensaje = new String();
while (true)
{
mensaje = b.readLine();
_et_ip.setText(mensaje);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
});
}
};
t.start();
}
He comprobado que los mensajes llegue con Log.d, creo que puede ser por el while(true); si es por esto como puedo solucionarlo, ya que los mensajes no se cuando pueden llegar.
Un saludo y muchas gracias