Exercício adicional 28/08 - Servidor de eco
Página 1 de 1
Exercício adicional 28/08 - Servidor de eco
Cliente.java
Nesta aplicação o usuário manda uma mensagem para o servidor. O servidor vai responder a mesma
mensagem de volta, só que convertida para letras maiúsculas (use o método String.toUppercase()).
O usuário pode repetir esta operação quantas vezes ele quiser. O programa só deve fechar quando o usuário digitar a mensagem "/sair"
- Código:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Cliente {
public static void main(String[] args) throws Exception{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
//O BufferedReader funciona de forma similar a um Scanner
System.out.println("Digite o endereço do servidor: ");
String endereco = in.readLine(); //o metodo readLine lê um texto digitado pelo usuário
Socket socket = new Socket(endereco, 23080);
//Tenta se conectar a um endereço de rede, na porta 23080
String mensagemEnviada = "PING";
PrintWriter writerRede = new PrintWriter(socket.getOutputStream());
//socket.getOutputStream() retorna o fluxo de saida de dados da nossa conexão de rede
//É criado um PrintWriter com base neste fluxo. O PrintWriter permite
//escrever mensagens de texto de forma facilitada (igual ao System.out,
//que é outro objeto da classe PrintWriter
writerRede.println(mensagemEnviada);
writerRede.flush();
//escreve a mensagem pela rede
System.out.println("Mensagem enviada: " + mensagemEnviada);
BufferedReader readerRede = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//É criado um BufferedReader sobre o fluxo de entrada de dados da conexão de rede
String mensagemRecebida = readerRede.readLine();
//Lê a próxima mensagem recebida pela rede
System.out.println("Mensagem recebida: " + mensagemRecebida);
}
}
- Código:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor {
public static void main(String[] args) throws IOException{
ServerSocket serveSocket = new ServerSocket(23080);
System.out.println("Aguardando conexão...");
Socket socket = serveSocket.accept();
BufferedReader readerRede = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String mensagemRecebida = readerRede.readLine();
System.out.println("Mensagem recebida: " + mensagemRecebida);
String mensagemEnviada = "PONG";
PrintWriter writerRede = new PrintWriter(socket.getOutputStream());
writerRede.println(mensagemEnviada);
writerRede.flush();
System.out.println("Mensagem enviada: " + mensagemEnviada);
}
}
Nesta aplicação o usuário manda uma mensagem para o servidor. O servidor vai responder a mesma
mensagem de volta, só que convertida para letras maiúsculas (use o método String.toUppercase()).
O usuário pode repetir esta operação quantas vezes ele quiser. O programa só deve fechar quando o usuário digitar a mensagem "/sair"
Tópicos semelhantes
» Exercício adicional 21/08
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 22/08 - Herança
» Exercício adicional 22/08 - Sobrescrita
» Exercício adicional 23/08 - Veículos
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 22/08 - Herança
» Exercício adicional 22/08 - Sobrescrita
» Exercício adicional 23/08 - Veículos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|