Resposta certa?

5 respostas
C

Pessoal,

A pergunta é:

Crie um cliente Java para poder se conectar e utilizar ao seguinte servidor abaixo:

import java.io.*;   
  public class BooksServer {   
  public BookServer() {   
    try{   
        ServerSocket server = new ServerSocket (8888);   
        Socket in = server.accept();   
        BufferedReader entrada = new BufferedReader (new InputStreamReader(in.getInputStream() ));   
        PrintWriter saida = new PrintWriter (incoming.getOutputStream(), true);   
        saida.println("Digite um título para busca. Obs: digite TCHAU [ENTER] para fim.");   
        boolean fechar = false;   
        String tituloBusca = "";   
        String msgClient;   
        while (!fechar) {   
            msgClient = entrada.readLine ();   
            if(msgClient != null) {   
                if(msgClient.trim().indexOf("TCHAU") >= 0) {   
                    fechar = true;   
                    saida.println("TCHAU");   
                }else{   
                    if(msgClient.startsWith ("BUSCAR")){   
                        String[] msg = msgClient.trim().split(":");   
                        tituloBusca = msg[1];   
                        saida.println("resultado da busca: \n "+search(tituloBusca));   
                    }   
                }   
            }else{   
                fechar = true;   
            }   
        }   
        in.close();   
    }catch (Exception e) {   
        System.out.println (e);   
    }   
  }   
  protected String search(String titulo)  {... //procede com a busca do titulo ...}   
  }

OBS: Assuma que o código não possui erros de compilação e que o método search busca por livros com um determinado título passado como parâmetro.

E veja minha resposta abaixo:

public class Cliente {

public static void main (String[ ] args) throws UnknowHostException, IOException {

	Socket cliente = new Socket (127.0.0.1, 8888); //cria uma conexão com o servidor

	System.out.println ("O cliente se conectou ao servidor!");

	Scanner teclado = new Scanner (System.in); //cria um "leitor", para quando quiser ler //algo digitado pelo usuario

	PrintStream saida = new PrintStream ( cliente.getOutputStream() ); //cria um stream //para enviar mensagens para o servidor

	PrintStream entrada = new PrintStream ( cliente.getInputStream() ); cria um stream //para receber mensagens do servidor

	saida.println( teclado.nextLine() ); // Le o que o usuário digitou "teclado.nextLine()" e //envia para o servidor BooksServer	

	String resultado_busca = entrada.readUTF(); //recebe o resultado da consulta

	System.out.println("Resultado da Busca: " + resultado_busca); //mostra na tela o resultado da busca

	saída.close ( );

	entrada.close();

	teclado.close ( );

	cliente.close ( );

} //fim main()

} //fim classe
Esta resposta acima está correta?

Te aguardo assim puder ajuda!

Grata,
caukym.

5 Respostas

E

Isso que você está fazendo agora é uma prova de entrevista de emprego ? Se estiver, boa sorte e bom emprego.
Se não, pegue o programa 2 e veja se ele se conecta corretamente ao programa 1. Basta compilar os dois, e tentar rodá-los.

C

Oxe, não prova de entrevista. É O EXERCÍCIO, estou pedindo AJUDA!!!

C

Só estou querendo saber se a resposta é certa ou não???

F

Cara, compila os dois e testa. A primeira dúvida quem vai te tirar é o javac. Nós não somos incompreensíveis e nem estúpidos, mas compilar para saber se roda é o primeiro passo. Ou você quer que a gente pegue seu código, rode para lhe dizer se fuciona?
E por mais que eu olhe seu código e fale “Está certo”. Tem um fator que você não está considerando, o humano.

Teste o código.

viniciusfaleiro

De cara vi que vai da pau…heheh

Criado 22 de outubro de 2009
Ultima resposta 22 de out. de 2009
Respostas 5
Participantes 4