Tengo un servidor grafico que tiene un textfield (donde se meterá una ip), un boton para enviar y un jlist (donde se van a meter las ips que hemos puesto en el textfield)
pues nada, quiero hacer un servidor udp que me envíe paquetes , que por cierto me los envía bien cada minuto. Pero ahora tengo un problema, para que me compruebe he decidido poner un array que me valla guardando las ips que voy comprobando (string) y otro array de short para guardar la comprobación.
Así por ejemplo en el array de ips se guarda la 192.168.0.1,192.168.0.3...etc , en sus respectivas posiciones o indices. La comprobación se hará de tal manera:
Si pasan 5 minutos sin recibir nada (osea 5 paquetes ya que los he puesto que envien cada minuto) me meterá para la direccion ip 192.168.0.1 un 1.
No se si me explico bien, mas o menos lo que quiero hacer es esto:
http://img518.imageshack.us/img518/4342/explicacion.jpg
Pero es que no se como hacer eso. He probado a hacer un array dentro del while donde se supone que envío, pero me da un error diciendo que para un elemento no estatico no se le puede asignar un elemento static
Así lo he puesto.
Código:
Haber si me pueden ayudar, Gracias de antemano public class Servidor { public static int puertoServidor=998; public static int puertoCliente=999; public static int tamanoBuffer=4; public static DatagramSocket ds; public static byte buffer[] = new byte[tamanoBuffer]; public String [] arrayips; public short [] compruebaips; int i=0; public static void main(String[] args) { //-----------------------SERVIDOR------------------------ try { ds = new DatagramSocket(puertoServidor); System.out.println("Servidor Activo"); DatagramPacket p = new DatagramPacket(buffer, buffer.length); while(true) { ds.receive(p);//recibe el paquete 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"); arrayips[i]=p.getAddress(); i++; aqui me imagino que iria tambien el otro array (el array de short } } 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"); } } }