/** @author Cesar Vasquez & Nadia Herrera @version 2.0 16-11-05 */ package src.servidor; import java.io.*; import java.net.*; /** Clase utilizada para atender mas de un cliente a la vez.
Luego de recibir un cliente, realiza el calculo de la sumatoria */ public class Hilos implements Runnable { private Socket socket; private Tabla tabla; private int suma; /** Metodo constructor de la clase Hilo @param s Socket de la comunicacion con el cliente @param t Tabla, para guardar los calculos anteriores */ public Hilos(Socket s, Tabla t) { tabla = t; socket = s; } /** Metodo run, con este metodo se inicia el hilo. */ public void run() { try { System.out.println("ThreadServer: Ha llegado una nueva conexion..."); //deja en "entrada" lo que el cliente le envio InputStream entrada = socket.getInputStream(); byte[] b = new byte[10]; int lenght = entrada.read(b); int valor = Integer.parseInt(new String(b, 0, lenght)); suma = tabla.buscarAnteriores(valor); if(suma > 0) { System.out.println("ThreadServer: valor precalculado"); System.out.println("ThreadServer: numero = " + valor); System.out.println("ThreadServer: suma = " + suma); System.out.println("*********************************************"); } else { suma = tabla.sumatoria(valor); System.out.println("ThreadServer: numero = " + valor); System.out.println("ThreadServer: suma = " + suma); System.out.println("*********************************************"); } String temp = Integer.toString(suma); OutputStream salida = socket.getOutputStream(); salida.write(temp.getBytes()); } catch (IOException e) { e.printStackTrace(); return; } } }