Chat
Aplicativo de um chat em Corba
Grupo:
-Fausto Feitosa
-Guilherme Alexandre
-Juliana Carvalho
-Luciana Oliveira
-Marília Oliveira
-Tarciana Dias
Roteiro
1.
2.
3.
4.
5.
Dificuldades x Soluções
Interfaces
Simulação do Chat
Implementação
Conclusão
Dificuldades x Soluções
• Método run() da classe ORB
Solução:
- passar referências dos clientes para o servidor
- criar Thread com o método run nos clientes
• Definir métodos na interface IDL que recebam como
parâmetro um array;
Solução:
- typedef sequence<string> Nicks;
void cadastraNaGui(in Nicks x);
• Passagens de referência do objeto do cliente para o
servidor, mas...
Interfaces
module ChatServer {
exception ClienteJaExisteException{};
exception ClienteNExisteException{};
exception ComunicacaoException{};
interface IServidor {
void connect(in string nick) raises (ClienteJaExisteException, ComunicacaoException);
void disconnect(in string nick) raises (ClienteNExisteException, ComunicacaoException) ;
void enviarBroadcast(in string mensagem, in string nick);
void enviarUnicast(in string mensagem, in string nickOrigem, in string nickDestino);
boolean isAlive();
};
interface ICliente{
typedef sequence<string> Nicks;
void recebeMensagem(in string mens, in string nick);
void cadastraNaGui(in Nicks x);
void descadastrar(in string nick);
string getNick();
};
interface IProxy {
void conectar(in string nick) raises (ClienteJaExisteException, ComunicacaoException);
void desconectar(in string nick) raises (ClienteNExisteException, ComunicacaoException);
void enviarMensagem(in string mens, in string nick);
void enviarMensagemUnicast(in string mens, in string nickOrigem, in string nickDestino);
void cadastrarServidor(in string name);
};
};
Primeira Opção de Simulação do Maximus Chat
Proxy
Cliente
Serviço
C
C
C
P
S
Conclusão
Diante das dificuldades encontradas,
conseguimos encontrar duas formas de se
implementar uma aplicação chat , aprofundando
nosso conhecimento, mesmo sem qualquer
experiência anterior em aplicações Corba.
Download

Maximus Chat