Bom dia! Tentando mais uma vez tirar dúvida sobre RMI hehehe.
Enfim, tem um Cliente Java que conecta ao Servidor Java.
Supondo que Cliente1 chama o método login no Servidor, o método login recebe uma Classe User(id, nome, login) e a String senha.
O Servidor pega user.login e senha para comparar. Se os dados estão ok, armazena a classe User recebida em um ArrayList e retorna true.
Cliente1 conseguiu fazer o Login.
Agora Cliente2 faz a mesma coisa e consegue logar.
O Servidor tem na ArrayList, 2 user’s.
Cliente1 chama o método logout que passa a classe User como parametro. O Servidor pegar user.id e procura na ArrayList por esse id e remove.
Agora o que eu quero, só que não consigo imaginar como e nem consegui achar procurando por RMI avançado.
Quero que o cliente não precise passar a classe dele para que o servidor saiba quem fez a comunicação. Dai não terei problema com pessoas que enviarem um id qualquer na tentativa de bagunçar o servidor. Sei que pra fazer isso a pessoa vai ter que descriptografar e desofuscar o código, mas sei que isso é possível e queria evitar.
Em Socket eu fazia isso, era simples, eu abria uma thread pra cada cliente, logo eu sabia que se o cliente chamasse algo no servidor, a thread dele teria o id dele.