Cita:
Iniciado por aemaru08
Hola a todos!
Se me ha ocurrido crear un hilo por cliente, pero se que siempre se debe evitar usar hilos.
No se de donde sacaste esa informacion, pero nada mas alejado de la realidad.
Muy por el contrario hoy por hoy debemos enfocar nuestras aplicaciones al suo de hilos ya que de otro modo perdemos la capacidad de usar mas de un nucleo en los procesadores.
Por otro lado desde mucho antes de la aparicion de los procesadores multi core ya se recomendaba aprovechar la capacidad del multithreading.
Respondiendo a tu pregunta usar hilos es exactamente lo que necesitas hacer.
Un ejemplo sencillo:
Código PHP:
ServerSocket server = new ServerSocket(9000);
while (true) {
Socket client = server.accept();
new Thread(new ClientHandler(client)).start();
}
Luego la clase ClientHandler debe ser un hilo (extender a Thread o implementar Runnable) y en ella haces todo lo que se necesite con tu cliente.
Ejemplo:
Código PHP:
public class ClientHandler implements Runnable {
private Socket client;
public ClientHandler(Socket client) {
super();
this.client = client;
}
public void run() {
try {
try {
this.client.getOutputStream().write(new String("Conexion correcta").getBytes());
} catch (IOException ioe) {
ioe.printStackTrace();
}
} finally {
try {this.client.close();} catch (Exception e) {}
}
}
}
Espero esto te sea de ayuda.
Saludos