hola! estoy intentando comunicar por sockets dos ordenadores.
LA comunicación funciona perfecta, pero quiero hacer que se pueda tanto recibir como transmitir siempre que se quiera, para ello creo dos thread, una receptora y otra transmisora:
Código:
public class transmisor extends Thread{
Socket cliente;
public transmisor(Socket Cliente){
this.cliente=Cliente;
}
public void run(){
while(cliente.isBound()){
try{
java.util.Scanner in = new java.util.Scanner(System.in);
String enviar = in.nextLine();
OutputStream bufferSalida = cliente.getOutputStream();
DataOutputStream datos = new DataOutputStream(bufferSalida);
datos.writeUTF(enviar);
} catch (Exception e){
e.printStackTrace();
}
}
this.destroy();
}
}
Código:
public class receptor extends Thread{
Socket cliente;
public receptor(Socket Cliente){
this.cliente=Cliente;
}
public void run(){
while(cliente.isBound()){
try{
InputStream aux = cliente.getInputStream();
DataInputStream flujo = new DataInputStream( aux );
System.out.println("recibo: " + flujo.readUTF());
} catch (Exception e){
e.printStackTrace();
}
}
this.destroy();
}
}
Dice qeu destroy() está "deprecated" y me gustaría utilizar métodos acutalizados, pero todos loque ppongo que conozco, destroy(), stop(), nada, que "deprecated"... ¿Cómo puedo hacerlo?
Si no pongo nada, como el programa sale de l while() y acaba, el thread se eliminaría¿???
Gracias!