Como se poderá fazer isso:
Interface do RMI a suportar pelo servidor.
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ServicoChat extends Remote {
public int ligar (String nome, ClienteChat refCliente) throws RemoteException;
public int mensagem (String nome, String msg) throws RemoteException;
public int desligar (String nome) throws RemoteException;
}
O cliente RMI comunica com o servidor através de JAVA RMI. Quando um utilizador pretende ligar-se ao
serviço de chat poderá invocar o cliente RMI indicando como parâmetros de entrada (na linha de comando) os
seguintes argumentos:
? Nome que irá identificar o utilizador
? URL rmi: do serviço de chat a utilizar
A primeira tarefa do cliente será estabelecer a ligação com o servidor, invocando o método ligar. De seguida,
sempre que o utilizador escreve uma linha de texto, essa linha é enviada para o servidor para distribuição pelos
restantes clientes, o que é feito através da invocação no servidor do método remoto mensagem. Quando uma
linha chega ao servidor, este usará um interface de callback para a enviar para o cliente, que deverá de seguida
apresentá-la ao utilizador.
O cliente RMI deverá suportar o seguinte interface de callback:
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ClienteChat extends Remote
{
public void novaMensagem(String msg) throws RemoteException;
}