MulticastSocket como saber quantos usuarios estão no grupo?

Ola pessoal, Boa tarde.
Hoje descobri como fazer um chat sem a necessidade de ter um servidor. Com MulticastSocket UDP.
Mas agora tenho a seguinte duvida:
Como saber quantos usuarios tenho no grupo? tipo?

InetAddress group = InetAddress.getByName("239.0.0.1");	
MulticastSocket socket = new MulticastSocket(8966);
socket.joinGroup(group);
...
...

1º Teria como criar um ouvinte pra grupos de multicast?
2º se sim, qual a class? como?
3º não, teria que criar uma lista em cada cliente! mas como saber quem esta no grupo ou saiu?

Desde já agradeço a todos.

Cara, até dá pra você implementar na mão, mas isso é estupidamente mais fácil de fazer usando o JGroups (jgroups.org)

Vale a pena dar uma olhada, já tem pronto inclusive um demo de chat mostrando o uso.

Bom dia,

[b]JXTA[/b] também pode criar e gerir grupos e multicast.

JxtaMulticastSocket :
http://blogs.sun.com/hamada/entry/pipes_jxtabidipipes_and_jxtasockets

JXTA é utilizado, por exemplo, Shoal para o agrupamento(A Dynamic Clustering Framework) no Glassfish e no SailFin.
http://swik.net/GlassFish+Shoal

Glassfish Shoal : https://shoal.dev.java.net/
SailFin : https://sailfin.dev.java.net/

Collanos utiliza JXTA : http://www.collanos.com/

JXTA 2.6 está sendo transferido e desenvolvido na plataforma da SUN Kenai.

Abraços

Muitissimo Obrigado. Muito boa o JGroups muito mesmo.
Ainda n olhei os outros,…

/claps
ótimas recomendações ^^