Apresentamos a seguinte solução do trabalho "Chat Cliente / Servidor" da disciplina MATA59 - REDES DE COMPUTADORES I: a implementação de um sistema que permite a comunicação de diversos clientes através de um servidor central com o uso da linguagem Java compatível com o sistema operacional Linux.
As seguintes instruções permitirá a execução do nosso sistema, utilizando a linguagem Java (versão 11), e o Terminal Ubuntu.
Para rodar o sistema, você precisará ter instalado no seu sistema os componentes
Java - versão 11
Terminal Ubuntu
e os arquivos
executavel/server_chat.jar
executavel/client_chat.jar
Para evitar erros de compatibilidade ao executar os arquivos, cheque a versão do Java no seu computador através do comando
java -version
Caso não possua a versão 11 do Java, você poderá executar os seguintes comandos em sequência:
$ sudo apt install openjdk-11-jdk
$ sudo update-alternatives --config java
- ao exibir as opções, escolha Java 11
Para confirmar se houve a instalação e seleção da versão 11 do Java, execute novamente o comando
java -version
Se ainda não for a versão requerida, execute o comando
/usr/bin/java -jar
para rodar os arquivos em formato .jar na pasta "executavel"
Para executar o programa do servidor da aplicação, acesse a pasta "executavel" do repositório e execute o comando:
java -jar server_chat.jar <PORT>
recebendo como único argumento o número da porta () na qual aguardará os clientes se conectarem.
Recebendo um número da porta válido, o servidor irá aguardas as futuras conexões de clientes na porta configurada. Esse servidor possibilitará a comunicação entre todos os clientes.
Para executar o programa do cliente, na pasta "executavel" do repositório execute o comando:
java -jar client_chat.jar <CLIENT_NAME> <SERVER_ADDRESS> <PORT>
recebendo como argumentos o nome do cliente, o endereço do servidor e o número da porta configurado no servidor.
- Para enviar uma mensagem para todos os clientes de um cliente, através do Terminal digite
SEND <MESSAGEM>
sendo o SEND o comando e o único argumento da mensagem
- Para enviar uma mensagem para um cliente de um cliente, através do Terminal digite
SENDTO <NOME_DO_CLIENTE> <MENSAGEM>
sendo o SENDTO o comando, <NOME_DO_CLIENTE> o primeiro argumento para o nome do cliente que deseja enviar e o segundo argumento para a mensagem
- Para retornar a lista dos clientes conectados ao servidor, através do Terminal digite
WHO
sendo o WHO o comando
- Para retornar a lista dos comandos, através do Terminal digite
HELP
sendo o HELP o comando
- Para finalizar a sessão do cliente ou do servidor, através do Terminal digite o comando
Ctrl-C
no Terminal respectivo.
Sendo o Terminal do programa do cliente, ele se desconectará do servidor e terminará. Caso seja do servidor, ele desconectará de todos os clientes e finalizará o programa.
- ANDREI DA SILVA MACEDO - [email protected]
- IAGO PINTO DO ESPIRITO SANTO - [email protected]
- SIDNEI SANTIAGO SOARES - [email protected]
- VINICIUS BRITO DE JESUS - [email protected]