Como saber quem está conectado via RMI?

3 respostas
moacirjava

Pessoal, blz?!!!
Pesquisei por ai e não encontrei nada do tipo que preciso, então minha dúvida é a seguinte:

Eu tenho dois computadores que se utilizam métodos remotos de um terceiro computador, só pra ilustar é assim:
[list]computador A utiliza[/list]
[list]computador B utiliza[/list]
[list]computador C fornece[/list]

O computador C fica num laço infinito esperando alguém se conectar. Ai é o seguinte como eu faço pra saber quem está se conectando naquela hora? Tipo, alguém requisita um serviço qualquer, quem está requisitando é o A ou o B?

Esse é um computador A

try{
      Registry registro = LocateRegistry.getRegistry(ipSrvReg,5400);
      ServicosServidor servicoRemoto = (ServicosServidor)registro.lookup("servidores");
       
      servicoRemoto....
...

Esse é um computador B

try{
     Registry registro = LocateRegistry.getRegistry(ipSrvReg,5400);
     ServicosCliente servicoRemoto = (ServicosCliente)registro.lookup("clientes");

     servicoRemoto...

E esse é quem fornece os serviços remotos o computador C

try {
      ServicosCliente cliente = new ServicosClienteImp();
      ServicosServidor servidor = new ServicosServidorImp();
                
      Registry registro = LocateRegistry.createRegistry(5400);
            
      registro.bind("clientes", cliente);            
      registro.bind("servidores", servidor);
      
      System.out.println("Quem está conectou agora foi : " + ?????); <-- Isso aqui é que eu quero saber, quem?

...

3 Respostas

fantomas

Acho que não tem uma forma automática de saber isso. Talvez vc tenha que criar uma especie de login e fazer com os clients fiquem registrados em uma lista no servidor e ao acessar eles mandem referencias do login para identificação.

flws

L

Moacir,

É possível saber o endereço do cliente que invocou um método remoto, utilizando RMI. Acho que é o que você procura.

Dê uma olhada nessa documentação:
http://www.docjar.com/docs/api/sun/rmi/server/UnicastServerRef.html#getClientHost

Abraços,
Felipe

moacirjava

Felipe, o que eu procurava é mais ou menos isso ai, obrigado!!!

Criado 6 de novembro de 2008
Ultima resposta 6 de nov. de 2008
Respostas 3
Participantes 3