Problemas no Multicast ao compartilhar um array

1. Problemas no Multicast ao compartilhar um array

issacar
beche

(usa Debian)

Enviado em 14/09/2018 - 09:01h

Bom dia meu povo, estou com uma certa dificuldade, e honestamente não sei se tem como fazer !!!, preciso pegar um array de um multicast, mas este está rodando como servidor em uma main, e preciso que pegue esse array em outra main cliente, vou deixar meu código teria como ?

CÓDIGO MEU ARRAY

public class Multicast_Array {
public static ArrayList<String> Lista = new ArrayList<>();

public static void setLista(ArrayList<String> Lista) {
Multicast_Array.Lista = Lista;
}

public static ArrayList<String> getLista() {
return Lista;
}

public void Multicast_Array(String dados) { // meu array para verificar qual ip está ativo para enviar uma requisição
if (!Lista.contains(dados)) {
Lista.add(dados);
System.out.println(dados + " Entrou na lista");
} else {
System.out.println("Os dados: " + dados + " Já encontra-se na lista");
}
}

}


MEU MULTICAST RECEBE ONDE RECEBE OS SERVIDORES QUE ESTÃO LIGADOS

public class MulticastReceber extends Thread {

public void run() {
MulticastSocket s = null;
Multicast_Array enviar_para_lista = new Multicast_Array();

while (true) {

try {
InetAddress group = InetAddress.getByName("239.0.0.3");
s = new MulticastSocket(6789);
s.joinGroup(group);

byte[] buffer = new byte[1000];
DatagramPacket messageIn = new DatagramPacket(buffer, buffer.length);
s.receive(messageIn);
enviar_para_lista.Multicast_Array(new String(messageIn.getData()).trim());

} catch (IOException e) {
System.out.println(e);
} finally {
if (s != null) {
s.close();
}
}
}

}



MEU CLIENTE ONDE DEVERIA DE ESTAR PEGANDO O ARRAY PARA FINS DE CONSULTAR QUAL SERVIDOR ESTÁ ATIVO E ENVIAR REQUISIÇÕES


public class Cliente {
public static ArrayList<String> Lista1 = new ArrayList<>();

public static void main(String argv[]) throws Exception {

Multicast_Array a = new Multicast_Array();
Lista1.addAll(a.getLista());

System.out.println("Teste_Multicast_Trabalho.Cliente.main()"+ Lista1); // AQUI DEVERIA DE ESTAR PEGANDO A LISTA COMPLETA OBS: TEM UMA OUTRA MAIN (SERVIDOR) EXECUTANDO PARA PEGAR OS MULTICAST ATIVOS...

Scanner entrada = new Scanner(System.in);
System.out.println("Digite a musica a ser encontrada: ");
String busca = entrada.next();
Socket clientSocket = new Socket("127.0.0.1", 6789);
ObjectOutputStream ouToserver = new ObjectOutputStream(clientSocket.getOutputStream());
ObjectInputStream inFromServer = new ObjectInputStream(new BufferedInputStream(clientSocket.getInputStream()));
Person Enviar_Pergunta = new Person(busca, "", "", "");
ouToserver.writeObject(Enviar_Pergunta);
Person resposta = (Person) inFromServer.readObject();
System.out.println("FROM SERVER: " + resposta.getRespostaBuscaMP3()); // imprimi o resultado na tela

if (resposta.getRespostaBuscaMP3().equals("false")) { // se resposta falsa fecha o servidor
clientSocket.close();
}

}
}







  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts