Este projeto faz parte da disciplina de Redes 2 e tem como objetivo a criação de uma aplicação de mensagens instantâneas utilizando os protocolos TCP e UDP. O foco é aplicar os conhecimentos adquiridos sobre as camadas de transporte e aplicação. Este repositório contém a implementação do servidor.
- Conexão TCP: Gerencia conexões persistentes e confiáveis entre clientes e o servidor.
- Conexão UDP: Suporta comunicação não confiável e sem conexão, útil para transmissões rápidas.
- Mensagens em tempo real: Permite a troca de mensagens instantâneas entre clientes conectados.
- Comunicação em grupos: Os usuários podem se comunicar em grupos.
- Gerenciamento de grupos via TCP: Os usuários podem entrar ou sair de grupos utilizando o protocolo TCP. Se um grupo solicitado não existir, ele é criado automaticamente.
- Envio de mensagens via UDP: Os usuários enviam mensagens para os grupos utilizando o protocolo UDP.
- Gerenciamento de clientes: Lida com múltiplos clientes simultaneamente, mantendo a integridade das sessões de comunicação.
- Java 8+
-
Clone o repositório:
git clone https://github.com/reisvitt/instant-messaging_server.git cd instant-messaging_server
-
Der permissão de execução para o start.sh:
chmod +x start.sh
- Inicie o servidor:
./start.sh
Os servidores estarão agora escutando por conexões de clientes. O cliente correspondente deve ser implementado e conectado aos servidores para testar a funcionalidade completa.
- Fork este repositório.
- Crie uma nova branch:
git checkout -b minha-feature
. - Faça suas alterações e commit:
git commit -m 'Minha nova feature'
. - Envie para a branch original:
git push origin minha-feature
. - Crie um pull request.
Este projeto está licenciado sob os termos da licença MIT. Veja o arquivo LICENSE
para mais detalhes.
Para dúvidas ou sugestões, abra uma issue ou entre em contato com o mantenedor do projeto.