Foi desenvolvido uma aplicação de chat utilizando o protocolo Multicasting através da linguagem JAVA.
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
# 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"
# 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"
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.
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.
Classe que será responsável por intermediar a comunicação entre a comunicação Cliente / Servidor.
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.
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
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.
Classe que conterá atributos referentes aos participantes / usuários utilizadores da nossa aplicação de chat
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.
As seguintes ferramentas foram usadas na construção do projeto:
Carlos Germano
Feito por Carlos Germano 👋🏽 Entre em contato!