/chat-multicast-java-germano-carlos

chat-multicast-java-germano-carlos created by GitHub Classroom

Primary LanguageJava

Projeto Java - Multicast

🏁 Tópicos

🚀 Projeto já finalizado !

Sobre o projeto

Descrição do Projeto

Foi desenvolvido uma aplicação de chat utilizando o protocolo Multicasting através da linguagem JAVA.

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Java JDK 1.8. Além disto é bom ter um editor para trabalhar com o código como IntelliJ

🎲 Rodando o Back End (Servidor)

# Clone este repositório
$ git clone <https://github.com/PUC-DISCIPLINAS/chat-multicast-java-germano-carlos.git>

# Acesse a pasta de arquivos binários do projeto no terminal/cmd
$ cd out/production/chat-multicast-java-germano-carlos

# Complie o projeto através do comando java
$ java ServidorPrincipal

# O servidor inciará na porta:6789
# Visualize se a porta foi devidamente liberada e o servidor está sendo executado
$ netstat -ano -p tcp |find "6789"

🎲 Rodando o Back End (Cliente)

# Clone este repositório
$ git clone <https://github.com/PUC-DISCIPLINAS/chat-multicast-java-germano-carlos.git>

# Acesse a pasta de arquivos binários do projeto no terminal/cmd
$ cd out/production/chat-multicast-java-germano-carlos

# Complie o projeto através do comando java
$ java Main

# Você será redirecionado para um menu com as opções de escolhas de usabilidade.
# Assim que você escolher um endereço multicasting para entrada, a porta padrão será a 6788

# Visualize se a porta foi devidamente liberada e o servidor está sendo executado
$ netstat -ano -p tcp |find "6788"

Classes

📚 Servidor Principal

Classe que será responsável por "levantar" um servidor UDP que receberá todo os dados de usuários/salas/conexões e consequentemente a alocação "in memory" enquanto escutando a porta 6789.

📕 Main

Classe que será responsável por inicializar a aplicação do Cliente. A mesma conseguirá solicitar ao Cliente as ações através de um menu.

📘 MainController

Classe que será responsável por intermediar a comunicação entre a comunicação Cliente / Servidor.

📗 ClienteUDP

Classe que será responsável por enviar mensagens do Cliente para o Servidor, e capturar a mensagem devolvida por ele, e exibir em tela as tratativas para o Cliente.

📙 Multicast

Classe que conterá atributos referentes ao protocolo Multicast. Precisaremos de alocar essa informação para conseguirmos referenciar este objeto a Classe Sala. Além de ser responsável por startar uma thread para que em loop infinito consiga capturar todas as mensagens enviadas dentro do grupo Multicast

📒 ServidorMultiCasting

Classe que será responsável por ser o "listerner" das mensagens trafegadas dentro do grupo multicast. Dentro dessa classe, a mesma será responsável por enviar toda notificação para o grupo multicast.

📓 Participante

Classe que conterá atributos referentes aos participantes / usuários utilizadores da nossa aplicação de chat

📔 Sala

Classe que conterá atributos referentes as salas de chat criadas. Precisaremos também de fazer a comunicação desta classe ao Participante, uma vez que o participante ao adentrar uma sala ele se torna um usuário Ativo.

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Autor


Carlos Germano

Feito por Carlos Germano 👋🏽 Entre em contato!

Twitter Badge Linkedin Badge Gmail Badge

License

MIT