Código:
Me da error en los 2 for ¿POR QUE ES? lo siento pero soy torpe y no acabo deo comprender por que.public class resetcomprueba implements Runnable{ Servidor s; JList jlista=new JList(); resetcomprueba(Servidor sv, JList jlista2) { s=sv; jlista=jlista2; } public void run() { while (true) { for (int b=0;s.sizeComprueba();b++) s.setComprueba(b, (short)0); Thread.sleep(3000); for(int a=0;s.sizeComprueba();a++) { s.setComprueba(a,(short)1); } } jlista.repaint(); } }
Tengo esta clase tambien, que se llama servidor
Código:
Pero no logro poner el sizecomprueba ni a 0 ni a 1, por que me da un fallo de boolean.public class Servidor implements Runnable{ public static int puertoServidor=1998; public static int puertoCliente=1999; public static int tamanoBuffer=4; public static DatagramSocket ds; public static byte buffer[] = new byte[tamanoBuffer]; public int tamarrayips=10; public short [] compruebaips=new short[tamarrayips]; public String [] arrayips = new String[tamarrayips]; public int i=0; DefaultListModel modelo; public Servidor(DefaultListModel mod){ modelo=mod; } public void run() { try { ds = new DatagramSocket(puertoServidor); DatagramPacket p = new DatagramPacket(buffer, buffer.length); while(true) { ds.receive(p);//recibe el paquete int existe=0; for(int i=0;i<modelo.getSize();i++){ if(modelo.elementAt(i).equals(p.getAddress().toString())) existe=1; } if(existe==0){ anadirPC(p.getAddress().toString()); setComprueba(i,(short)0); } else setComprueba(i,(short)0); System.out.println("********SERVIDOR GRAFICO*****"); System.out.println("*******************************"); System.out.println("Ha llegado una peticion \n"); System.out.println("Procedente de :" + p.getAddress()); System.out.println("En el puerto :" + p.getPort()); System.out.println("Sirviendo la petición"); } } catch(SocketException e) { System.out.println("Se ha producido error en el socket"); } catch (UnknownHostException e) { System.out.println("Error host desconocido"); } catch(IOException e){ System.out.println("Error en la I/O"); } } public void anadirPC(String ip){ modelo.addElement(ip); arrayips[i]=ip; setComprueba(i,(short)0); i++; if(i >= tamarrayips){ //doblar el tamaño de los arrays tamarrayips*=2; String aux[]=new String[tamarrayips]; short aux2[]=new short[tamarrayips]; for(int i=0;i<arrayips.length;i++){ aux[i]=arrayips[i]; aux2[i]=compruebaips[i]; } arrayips=aux; compruebaips=aux2; } } public synchronized void setComprueba(int elem,short valor){ compruebaips[elem]=valor; } public short getComprueba(int elem){ return compruebaips[elem]; } public int sizeComprueba(){ return i; } }
¿Como lo puedo arreglar?, es en la conversion de tipos, pero ya he probado a captear pero nada. Soy extremadamente torpe con esto.
Gracias de antemano. Si pueden contestar lo antes posible se los agradeceria