Servidor de Chat Multithread [RESOLVIDO]

E ae galera
to com uma dúvida:

to fazendo um servidor de chat em java… só que só consegui fazer usando o servidor como um cliente… ex: cliente se conecta com o servidor e eles conversam.

O que eu quero fazer é:
tenho um servidor em Java, e vários clientes. O Server só age passando a mensagem pra todos… ex: o usuário abc enviou uma mensagem, e o Server somente repassa essa mensagem aos outros clientes conectatos… eu teria que usar um MultithreadedServer ou algo assim…
A minha dúvida é:
tenho que guardar uma lista de todos os sockets que estão abertos para enviar mensagens para todos?
Existe algum método melhor de fazer isso?

O que sugeriu é uma das formar sim. E em cada requisição o cliente envia um identificador para o server saber a origem da sessão.

Mas há maneiras mais simples sim. Aqui duas sugestões de tecnologias boas e bastante fáceis de usar:
http://www.retrogui.com/cgi-bin/wiki_dualrpcserver.pl
http://www.quickserver.org

hm valeu pela dica ae LIPE

mas eu tenho que fazer isso sem usar nenhuma biblioteca especial
como assim em cada requisição o cliente envia um id pro server saber a origem?

achei como faz isso usando multicast. mas funciona usando UDP e eu preciso fazer com tcp

Consegui resolver esse problema.
Vou postar a solução para que alguém que estiver com a mesma dúvida possa solucioná-la
Eu somente fiz uma lista de sockets, e quando eu recebia alguma mensagem em alguma thread do cliente, eu chamo um método que varre a lista enviando pra todos os sockets.

opa andreiribas . vi seu tópico e estou com este problema em um chat que estou montando…

me passa o jeito que você fez pra resolver. Preciso de um método definido no servidor pra mandar mensagem para todos os clientes conectados nele.

estou montando os clientes na forma de applets.

só isso…

valew

oi! passei pelo forum e axei interessante e logo me registei.
tenho interesse em fazer um chat ou servidor de chat como o chamam.
que preciso para o fazer?
preciso de ajudas::::::::::