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.