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
Te aguardo assim puder ajuda!
Grata,
caukym.