ArrayList de InetAddress

2 respostas
M

Bom dia, comecei há pouco tempo a aprender a utilizar sockets em java, e estou querendo fazer com que um servidor UDP rejeite informações transmitidas a partir de ips não autorizados.
Para isto estou tentando criar uma ArrayList de InetAddress que contenha ips não autorizados, de modo que quando o servidor receber um pacote, ele possa verificar se o remetente do mesmo esta ou não na lista. Contudo estou cometendo algum erro na hora de criar o arraylist. Creio que devo estar cometendo alguma burrice muito grande no código, mas não sei qual.
(como o resto do código esta funcionando de boas, só vou colocar o arraylist)O que tentei fazer foi :

ArrayList<InetAddress> IPList = new ArrayList<>(); IPList.add("192.168.0.102");
Alguém pode me dizer qual foi o meu erro? Ou se tem alguma forma melhor de bloquear endereços IP sem ser por um arraylist?
Desde já agradeço

2 Respostas

rodrigues_sis

para criar seu array tente:

ArrayList<InetAddress> iPList = new ArrayList<InetAddress>();

Porém assim vc nao pode adicionar uma Stirng em iPList somente objetos InetAddress… tipo:

iPList.add( new InetAddress() );

Agora caso vc realmente necessite adicionar uma String, tente criar uma lista de String;

ArrayList<String> iPList = new ArrayList<String>();
M

rodrigues_sis:
ArrayList<InetAddress> iPList = new ArrayList<InetAddress>();

tente

rodrigues_sis, tentei aqui e o problema continua.
Ele esta criando o ArrayList de boas, mas esta dando erro na linha de baixo, ao tentar adicionar o endereço.

edit: tentei: IPList.add(new InetAddress(“192.168.0.102”)); e IPList.add(new InetAddress.getByName(“192.168.0.102”));
para adicionar o ip, mas não esta funcionando

edit 2:Sem o “new” deu certo:

IPList.add(InetAddress.getByName("192.168.0.102"));

Valeu pela resposta rodrigues!

Criado 6 de março de 2015
Ultima resposta 6 de mar. de 2015
Respostas 2
Participantes 2