projeto
1) Comunicação em Grupo
Tratase de uma operação que permite o envio de uma única mensagem para cada um dos membros de um grupo de processos, de forma que os membros do grupo ficam totalmente transparentes para o remetente. A comunicação parapar pode não ser o melhor modelo de comunicação quando a implementação de um serviço envolve múltiplos processos, possivelmente executando em computadores distintos, neste caso o mais apropriado é utilizar o mecanismo de “difusão seletiva” (multicast) de mensagens: Envio de uma única mensagem de um processo para cada um dos membros de um grupo de processos de destino
Membros do grupo podem não ter conhecimento uns dos outros nem ser conhecidos pelo remetente
Várias possibilidades quanto ao comportamento do mecanismo de difusão: Garantia de entrega
Ordem de recebimento
Atomicidade
1.1) APIs em Java MultiCast em UDP
MulticastPeer (classe)
MulticastSocket subclasse de DatagramSocket
InetAddress
joinGroup (group)
DatagramPacket
send(messageOut) receive(messageIn) leaveGroup(group)
SocketException
IOException
Exemplo de código: import java.net.*; import java.io.*; public class MulticastPeer{ public static void main(String args[]){
MulticastSocket s = null; try {
InetAddress group = InetAddress.getByName(args[1]); s = new MulticastSocket(6789);
s.joinGroup(group);
byte [] m = args[0].getBytes();
DatagramPacket messageOut = new DatagramPacket(m, m.length, group, 6789);
s.send(messageOut);
// obtém mensagens de três outros membros do grupo byte[] buffer = new byte[1000]; for(int i=0;