RMI - como saber se o cliente está conectado no servidor?

4 respostas
P

Tenho um sistema que utiliza RMI faz um bom tempo, porém agora preciso implementar no servidor algo que reconheça quando um cliente cai.
Existe uma forma de saber quando um cliente está conectado no servidor?

Meu servidor é bem simples:

Siv stub = (Siv) UnicastRemoteObject.exportObject(this,0);

Registry r = LocateRegistry.createRegistry(1101);

r.rebind(ServerSiv, stub);

4 Respostas

Gobain

Não da pra vc fazer um pooler pra checar periodicamente os clientes?

P

Você quer dizer: ficar executando um certo método de tanto em tanto tempo no servidor só para demonstrar que ainda está conectado?
Eu pensei nisso, mas certamente não é a solução mais correta, por isso descartei.

Luca

Olá

poletts:
Você quer dizer: ficar executando um certo método de tanto em tanto tempo no servidor só para demonstrar que ainda está conectado?
Eu pensei nisso, mas certamente não é a solução mais correta, por isso descartei.

Se você concorda que funciona, porque afirma que certamente não é a mais correta?

Para mim o incorreto foi usar RMI pelos vários inconvenientes que já expliquei aqui no GUJ diversas vezes. Mas já que usou não vejo porque um protocolo simples não possa ser utilizado.

[]s
Luca

P

RMI é um padrão internacional do meu cliente, não é possível mudar isto, tem que usar e pronto.
Já a idéia de usar um método para dar um sinal “keepalive” por parte do cliente é válida, só queria saber se não existe uma forma mais simples de fazer isso, algo mais direto.
Se não houver outra forma, farei o esquema do “keepalive”, mesmo o cliente não gostando da idéia de vários clientes ficarem enviando dados constantemente somente para isto.

Agradeço a ajuda de todos.

Criado 26 de março de 2008
Ultima resposta 26 de mar. de 2008
Respostas 4
Participantes 3