Como implementar comunicação multicast em JAVA?

Pessoal,

Estou precisando implementar um prototipo que realize comunicação muticast realizando acordo de entrega de mensagens(FIFO,causal etc…) em JAVA.Por onde devo comerçar? Como posso fazer isso ? Utilizo CORBA ou RMI… qual o melhor ? Estou meio perdido…

Obrigado.

Bom dia,

Dê uma lida sobre Sockets em Java

Talvez esse cara aqui seja um bom ponto de partida (e o google também!)

http://java.sun.com/j2se/1.5.0/docs/api/java/net/MulticastSocket.html
:wink:

JGroups?

Se é para um trabalho de faculdade onde vc tem que implementar isso, não posso te ajudar muito, de uma olhada no material abaixo que deve ajudar um pouco, mas daí o jeito é estudar os protocolos e implementar com sockets mesmo.

Se vc precisa pra usar profissionalmente, é bom usar algo como o JGroups, esse PDF da uma boa noção do JGroups e no final tem link pra outras ferramentas do tipo:
http://gsd.ime.usp.br/seminars/2006/jgroups_20060529.pdf

Um dos links é pro Appia, que parece que é melhor que o JGroups até, faz tempo que fiz minha pesquisa sobre isso então não lembro bem, mas acho que é:
http://appia.continuent.org/HomePage

Aviso importante: se vc quer fazer multicast real(IP multicast) pela internet, esqueça! muitos roteadores não suportam e isso está longe de acontecer. Pela internet o melhor que vc consegue é multicast sobre TCP, então seu benefício será os protocolos de gerenciamento, pois o ganho de desempenho pelo multicast não acontecerá.
Se for numa rede local com canal broadcast(Ethernet por ex) funciona que é uma maravilha, mesmo usando sobre TCP, basta configurar.

Obs: não cheguei a testar na prática, tentei o JGroups pela internet e não funcionou, mas é razoavelmente fácil de usar.