Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2009, 15:10
Juny18
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 17 años, 1 mes
Puntos: 2
que leches pasa

Hola a todos, tengo el siguiente codigo

Código:
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();
        }
    }
Me da error en los 2 for ¿POR QUE ES? lo siento pero soy torpe y no acabo deo comprender por que.

Tengo esta clase tambien, que se llama servidor
Código:
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;
    }
    
}
Pero no logro poner el sizecomprueba ni a 0 ni a 1, por que me da un fallo de boolean.
¿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