You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Este projeto implementa um sistema de comunicação distribuído em Java utilizando Sockets, TCP e criptografia RSA para comunicação segura entre clientes e servidor.
Como correr o projeto
Compila e executa Main.java para iniciar o servidor.
Compila e executa ChatClient.java para iniciar os clientes.
Nota: Podes iniciar várias instâncias de ChatClient.java, uma para cada utilizador que fará login.
Comandos
Comando
Descrição
Exemplo
SEND [email] [mensagem]
Envia mensagens privadas para outro utilizador.
SEND coord_local1@protecao.gov.pt Boa Tarde Coordenador Local, como se encontra?
JOIN [grupo]
Junta (ou cria) um grupo.
JOIN Tempestade-Kirk
LEAVE [grupo]
Sai de um grupo.
LEAVE Tempestade-Kirk
GROUPMSG [grupo] [mensagem]
Envia mensagens para um grupo.
GROUPMSG Tempestade-Kirk Bom dia.
APPROVE EVACUATE
Aprova pedidos de evacuação (somente para utilizadores com role HIGH).
APPROVE EVACUATE
APPROVE ACTIVATE
Aprova pedidos de ativação (rolesHIGH e MEDIUM).
APPROVE ACTIVATE
APPROVE DISTRIBUTE
Aprova pedidos de distribuição (rolesHIGH, MEDIUM e LOW).
APPROVE DISTRIBUTE
Nota Importante
Para que a funcionalidade de guardar mensagens em grupo funcione corretamente para utilizadores offline:
Mantém Main.java sempre em execução.
Inicia várias instâncias de ChatClient.java, uma para cada utilizador.
Se um cliente fizer login e depois encerrar a instância, as mensagens destinadas a ele serão entregues quando ele se reconectar.