Pessoal, estou precisando desenvolver uma aplicação que consiste em um chat multiusuário. Quando um usuário se conecta ao servidor, ele vai poder escolher para quais usuários a mensagem que ele digitar vai ser enviada. Estava pensando em criar um registro no servidor com os usuários conectados a ele, e em cada cliente um registro parecido contendo os clientes ao qual ele deve enviar as mensagens. Dessa maneira, quando o cliente enviar a mensagem, o servidor vai consultar o registro do cliente para saber para quais clientes essa mensagem deve ser roteada, e assim enviá-las para todos.
Só que achei que vai consumir muitos recursos e tal, acho que deve existir outra maneira mais fácil e mais “automática” em Java. Alguém ae poderia me dar algumas dicas, uma luz? Preciso disso o quanto antes, então quem puder me ajudar, sou muito grato desde já.
Ps:. pensei em usar multicast, só que imagino na situação em que um usuário pode estar conectado a vários outros. Ele devá então receber mensagens de qualquer um deles, sendo necessário assim fazer uma conexão com cada endereço multicast de cada cliente.