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