Você está na página 1de 21

Programação Avançada

Prof. Maurício Aldenor

040601707@prof.unama.br

2022
JAVA – API NET

Objetivo: classes que implementam aplicações que


funcionam através de uma rede de computadores (local,
internet).
Exemplos:
• Chat entre usuários: transfere Strings, fotos, vídeos, etc;
• Atualização do sistema: modifica arquivos do sistema;
• Comunicação com o banco de dados.
JAVA – API NET

Comunicação cliente-servidor

CLIENTE SERVIDOR
JAVA – API NET

Sockets
Mesma lógica das tomadas:
Socket servidor: fica disponível
escutando uma porta da rede.
Socket cliente: conecta-se à
porta do servidor para começar a
comunicação.
JAVA – API NET

Algoritmo de criação do servidor


1. o usuário deve informar, pelo teclado, a porta que será usada
na conexão;
2. um objeto da classe ServerSocket é criado e fica
aguardando pela conexão do cliente [método accept()];
3. depois que o cliente entra em contato:
JAVA – API NET
Algoritmo de criação do servidor – cont...
4. terminado = false;
5. faça:
5.1 pega a mensagem enviada pelo cliente
5.2 se a mensagem for vazia, então a conexão é finalizada
5.3 senão, o programa mostra a mensagem na tela do
servidor
5.4 o servidor cria uma mensagem
5.5 se a msg não for vazia, então ela é enviada para o cliente
6. enquanto (! terminado)
JAVA – API NET
Algoritmo de criação do cliente
1. o usuário deve informar, pelo teclado, o endereço IP que será
usado na conexão;
2. o usuário deve informar, pelo teclado, a porta para fazer a
conexão;
3. um objeto da classe Socket é criado, passando o endereço e a
porta pelo construtor;
4. tenta realizar a conexão. Quando a conexão é feita:
JAVA – API NET

Algoritmo de criação do cliente – cont...


5. terminado = false;
6. faça:
6.1 o cliente cria uma mensagem
6.2 se a mensagem for vazia, o programa finaliza a conexão
6.3 senão, a mensagem é enviada do cliente para o servidor
6.4 a execução do programa é suspensa, fica esperando por
uma mensagem do servidor
6.5 se a mensagem não for vazia, imprime a mensagem que
chegou do servidor; senão, a conversa finaliza.
7. enquanto ( ! terminado );
JAVA – API NET

Programando em Java!
1. Crie um projeto no Netbeans. Nome: ProjetoNET
2. Crie duas classes: ChatCliente e ChatServidor
3. Implemente a interface Runnable nas duas classes e
crie o método abstrato run() em cada classe
4. Acesse o Teams para obter acesso ao código-fonte das
classes do passo 2
5. Adeque para o seu projeto
JAVA – API NET

Programando em Java! – cont..


6. Clicar com o botão direito no projeto e escolher a opção
“Limpar e Construir” -> cria um arquivo .jar
7. Ir até a pasta do projeto, abrir a pasta dist (ou target) e
copiar o arquivo com extensão .jar para a área de
trabalho (Desktop). Renomear este arquivo para
“Chat.jar”
JAVA – API NET

Executando o programa!
1. Abrir o console (prompt de comando do Windows ou
PowerShell)
2. Digitar o comando para abrir a pasta do Desktop:
cd Desktop
3. Digitar o comando para executar o Chat.jar:
java –jar Chat.jar
4. OBS: Em alguns casos vai funcionar com o comando
java –cp Chat.jar <pacote>.ProjetoNET
JAVA – API NET

Executando o programa! – cont...


4. Digite S para para inicializar o Servidor;
5. Depois abra uma olha janela de console (prompt de
comando do Windows) e digite C para inicializar o
Cliente;
6. O resultado deve ser o mesmo da tela do próximo slide.
JAVA – API NET

Executando o programa! – cont...

Servidor Cliente
JAVA – API NET

Executando o programa!
NO SERVIDOR
Informar a porta no Servidor -
> coloque 12345
Se a mensagem ao lado
aparecer (Firewall), clique em
“Permitir acesso”
JAVA – API NET

Executando o programa!
NO CLIENTE:
Informar o endereço IP do servidor -> coloque 127.0.0.1
Informar a porta de acesso ao servidor -> coloque 12345

CONEXÃO ESTABELECIDA!!!
TESTE O CHAT!!!
JAVA – API NET

Executando o programa!
RESULTADO:
JAVA – API NET
Tarefa 1
Tentar trocar mensagem com o PC do colega de sala
pela intranet

1. Faça dupla (de preferência distante um do outro)

2. Escolha quem vai ser o Cliente e quem vai ser o Servidor


JAVA – API NET
Tarefa 1
PC SERVIDOR:
Abra um prompt e execute o comando ipconfig
Anote o número do IPv4 e dê para o seu Cliente
JAVA – API NET
Tarefa 1
PC SERVIDOR:
Executar o Servidor.jar -> coloque a porta 12345

PC CLIENTE:
Executar o Cliente.jar
Informe o IP e a porta do Servidor (12345)

SE DER TUDO CERTO, QUE O CHAT


COMECE!!!
JAVA – API NET
Trabalho
Crie um projeto no Netbeans, utilizando janelas (GUI), para enviar e receber
mensagens do cliente para o servidor e vice-versa. O IP e a porta devem ser
fixos, ou seja, setados no código-fonte do programa.
JAVA – API NET
Referências:
Códigos Java do Cliente e do Servidor
http://www.ics.uci.edu/~jacobson/ics45J/CodeSamples/ <último acesso
maio/2016>
Caelum, Apêndice - Sockets. http://www.caelum.com.br/apostila-java-
orientacao-objetos/apendice-sockets/ <último acesso maio/2016>
Devmedia, Java Sockets: Criando comunicações em Java
http://www.devmedia.com.br/java-sockets-criando-comunicacoes-em-
java/9465 <último acesso maio/2016>
Sierra, K. Use a Cabeça! Java. Alta Books. 2ª edição. 2007.

Você também pode gostar