Olá galera, criei 3 projetos Java usando RMI (2 servidores e 1 Cliente). Na hora de me logar no servidor eu passo um dos servidores q estão rodando localmente. Como posso listar todos os servidores que estão no ar nesse momento. Tipo, qual o método q posso verificar as opções de servidor q tenho nessa conexão?
Não sei se existe uma função que faça um varredura automática e detecte os servidores, mas o que você pode fazer é criar uma mensagem especial para detectar se os servidores estão ativos. Se a aplicação cliente souber qual o endereço (ip+porta) deles, basta mandar diretamente para todos os endereços configurados como servidor, e estes respondem caso estiverem ativos. Se o que você quer é que o cliente seja capaz de detectar em que endereço (ip) os servidores estão ativos, o cliente poderia varrer todos os ip’s de uma determinada faixa (192.168.0.1 a 192.168.0.254, por exemplo) e numa determinada porta (supondo que os dois usem a mesma porta sempre). Não me parece uma abordagem muito eficiente, mas depende do que você quer.
Abraço.
KWill
Algo relativamente comum é a utilização de multicast de rede e protocolos como SSDP.
Procurando sobre esses conceitos, acho que dá para ter uma idéia de como o negócio funciona.